免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: huang6894
打印 上一主题 下一主题

[文本处理] 匹配所有字母前的数字运算--大工程~ [复制链接]

论坛徽章:
5
白羊座
日期:2014-10-28 11:23:27水瓶座
日期:2015-01-20 10:19:022015亚冠之柏斯波利斯
日期:2015-07-11 18:17:2015-16赛季CBA联赛之同曦
日期:2015-12-23 12:38:582016猴年福章徽章
日期:2016-02-18 15:30:34
11 [报告]
发表于 2013-11-15 13:27 |只看该作者
本帖最后由 klainogn 于 2013-11-15 15:58 编辑
  1. awk '{match($6,/[0-9]+S/);len=substr($6,RSTART,RLENGTH)+0;str=$1"_"gsub("-","",$9)+1}NR==FNR{gsub(/[0-9]*D|[0-9]*S86M|[0-9]*S/,"",$6);split($6,a,/[A-Z]/);for(i in a) start+=a[i];print str"\n"substr($10,start,len)"\n+\n"substr($11,start,len)"\n";start=0;next}{str2=$6;gsub(/[0-9]*I|[0-9]*S86M|[0-9]*S/,"",$6);split($6,a,/[A-Z]/);for(i in a) start+=a[i];print str,str2,$4+start;start=0}' file file

  2. FCD2FEHACXX:8:2301:1875:46038#79_118_1
  3. GT
  4. +
  5. B?

  6. FCD2FEHACXX:8:1104:6915:94857#79_118_2
  7. AG
  8. +
  9. ??

  10. FCD2FEHACXX:8:2307:11230:38678#79_118_2
  11. CCCTC
  12. +
  13. A@@>A

  14. FCD2FEHACXX:8:2301:1875:46038#79_118_1 16M1D70M2S 112452
  15. FCD2FEHACXX:8:1104:6915:94857#79_118_2 2S86M 73823
  16. FCD2FEHACXX:8:2307:11230:38678#79_118_2 44M4I13M4D8M1I13M5S 37911841
复制代码

论坛徽章:
32
处女座
日期:2013-11-20 23:41:20双子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00处女座
日期:2014-07-22 17:30:47狮子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥猪
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58处女座
日期:2014-12-02 09:17:52程序设计版块每日发帖之星
日期:2015-06-16 22:20:002015亚冠之塔什干火车头
日期:2015-06-20 23:28:22
12 [报告]
发表于 2013-11-15 13:39 |只看该作者
楼主你给的数据第10列和第11列的长度不同的?
  1. [root@localhost ~]# awk '{print length($10),length($11)}' i
  2. 88 87
  3. 88 87
  4. 88 88
  5. [root@localhost ~]#
复制代码

论坛徽章:
8
技术图书徽章
日期:2013-08-22 11:21:28未羊
日期:2015-01-19 22:22:25巳蛇
日期:2014-08-11 16:53:08子鼠
日期:2014-05-29 09:04:44摩羯座
日期:2014-04-11 14:15:07丑牛
日期:2014-01-24 12:41:28金牛座
日期:2013-11-21 17:38:28射手座
日期:2015-01-21 08:50:32
13 [报告]
发表于 2013-11-15 13:40 |只看该作者
回复 10# klainogn


    大大,gsub(/[0-9]*D|[0-9]*S86M|[0-9]*S/,"",$6);这一句话。。。好像不具有普适性呀,好像是不是只适合当前测试数据呀?

论坛徽章:
8
技术图书徽章
日期:2013-08-22 11:21:28未羊
日期:2015-01-19 22:22:25巳蛇
日期:2014-08-11 16:53:08子鼠
日期:2014-05-29 09:04:44摩羯座
日期:2014-04-11 14:15:07丑牛
日期:2014-01-24 12:41:28金牛座
日期:2013-11-21 17:38:28射手座
日期:2015-01-21 08:50:32
14 [报告]
发表于 2013-11-15 13:41 |只看该作者
回复 11# yestreenstars


    sorry~可能漏写了~反正是很怪异的数字~两列是一样长的~

论坛徽章:
32
处女座
日期:2013-11-20 23:41:20双子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00处女座
日期:2014-07-22 17:30:47狮子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥猪
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58处女座
日期:2014-12-02 09:17:52程序设计版块每日发帖之星
日期:2015-06-16 22:20:002015亚冠之塔什干火车头
日期:2015-06-20 23:28:22
15 [报告]
发表于 2013-11-15 13:42 |只看该作者
第二行,明明是2S,为什么你的结果里确实4S的结果?

论坛徽章:
32
处女座
日期:2013-11-20 23:41:20双子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00处女座
日期:2014-07-22 17:30:47狮子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥猪
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58处女座
日期:2014-12-02 09:17:52程序设计版块每日发帖之星
日期:2015-06-16 22:20:002015亚冠之塔什干火车头
日期:2015-06-20 23:28:22
16 [报告]
发表于 2013-11-15 13:43 |只看该作者
回复 13# huang6894
那你补上吧,难怪我的测试结果不对~

   

论坛徽章:
5
白羊座
日期:2014-10-28 11:23:27水瓶座
日期:2015-01-20 10:19:022015亚冠之柏斯波利斯
日期:2015-07-11 18:17:2015-16赛季CBA联赛之同曦
日期:2015-12-23 12:38:582016猴年福章徽章
日期:2016-02-18 15:30:34
17 [报告]
发表于 2013-11-15 13:50 |只看该作者
回复 12# huang6894
补充说明:
如果遇到30S23M35S这种多个S的情况,需要计算多次,一次是30S58M的,一次是53M35S的~
这个点还需要 星辰 哥发挥一下


   

论坛徽章:
8
技术图书徽章
日期:2013-08-22 11:21:28未羊
日期:2015-01-19 22:22:25巳蛇
日期:2014-08-11 16:53:08子鼠
日期:2014-05-29 09:04:44摩羯座
日期:2014-04-11 14:15:07丑牛
日期:2014-01-24 12:41:28金牛座
日期:2013-11-21 17:38:28射手座
日期:2015-01-21 08:50:32
18 [报告]
发表于 2013-11-15 13:50 |只看该作者
本帖最后由 huang6894 于 2013-11-15 14:09 编辑

回复 14# yestreenstars


    对不起对不起,实在太不仔细了~已经改过来了~谢谢大大~~
  1. [root@huang]$ cat c.txt
  2. FCD2FEHACXX:8:2301:1875:46038#79_118    99      chr1    112365  0       16M1D70M2S      =       112469  192     CTTCTCCAACCAAATTAGGAACAATTATATGGCCACATAGTATCGAATCAAGTTTATAATTTTAAAATAATTGGGAGATTTTGTTGTT        ?A@@@A@@@A@@AA@ABA@AAAA@A?@@@A$AA@AA@@?A@?@A>@A@AAAA=AA?A@AAAAAAAAA@?A@ABBB@C=@AAAC@AB?A
  3. FCD2FEHACXX:8:1104:6915:94857#79_118    147     chr1    73823   37      4S84M   =       73710   -201    AGCTGTAGAGAGAGGCACCCTTTTTTTTTTTTTTAATTATACTTTAAGTTTTAGGGTACATGTGCACCTTGTGCAGGTTAGTTACATA        ??A?>=<879<>=6/2=AA@AAAAAAAAAAAA?A@A?@@?BAA?BAAAAA?A@@A?@A@@B@AA?ABAAA@BB@@AA@AAA@?@??>@
  4. FCD2FEHACXX:8:2307:11230:38678#79_118   14      chr1    37911759        29      44M4I13M4D8M1I13M5S     =       37911601        -240    CCCTCTGCCTCTCCTTCTCTTTACCTCCCTCCCTCTTTCCCTCTTTCCCTCTCTCTCTCCCTCCCTCTCTTCCTCTCTCTCTCCCTCT        ABA??<@AA?C@A=??CABA@<1AA=AAA>BABAA@?@BBCAC@@=A@A@?=?@A@B=AAA=@AB@C@AA@AB@A?A@A@A@A@@>AA
  5. [root@huang]$ awk '{print length($10),length($11)}' c.txt
  6. 88 88
  7. 88 88
  8. 88 88
复制代码

论坛徽章:
8
技术图书徽章
日期:2013-08-22 11:21:28未羊
日期:2015-01-19 22:22:25巳蛇
日期:2014-08-11 16:53:08子鼠
日期:2014-05-29 09:04:44摩羯座
日期:2014-04-11 14:15:07丑牛
日期:2014-01-24 12:41:28金牛座
日期:2013-11-21 17:38:28射手座
日期:2015-01-21 08:50:32
19 [报告]
发表于 2013-11-15 13:51 |只看该作者
回复 15# yestreenstars


    谢谢大大,改过来了~谢谢谢谢

论坛徽章:
32
处女座
日期:2013-11-20 23:41:20双子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00处女座
日期:2014-07-22 17:30:47狮子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥猪
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58处女座
日期:2014-12-02 09:17:52程序设计版块每日发帖之星
日期:2015-06-16 22:20:002015亚冠之塔什干火车头
日期:2015-06-20 23:28:22
20 [报告]
发表于 2013-11-15 13:54 |只看该作者
回复 18# huang6894
还有我14楼问的问题呢~

   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP