免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2812 | 回复: 14
打印 上一主题 下一主题

求助,谁帮帮我提取文件字符的 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-11-25 11:58 |只看该作者 |倒序浏览
刚刚接触perl第一天,就有这么个任务,求哪位大侠指点指点

一个序列文件all.blast.tab,里面内容如下
MH001B05_S010393_J11_MF_933     Contigs154725_Length=2223       88.40   474     39      6       390     848     627     1099    3e-133   476
MH001B05_S010393_J11_MF_933     Contigs154548_Length=2469       90.66   364     28      6       299     659     233     593     1e-111   404
MH001B05_S010393_J11_MF_933     Contigs154548_Length=2469       84.47   161     21      3       96      255     2       159     8e-20   99.6
MH001B05_S010393_J11_MF_933     Contigs154548_Length=2469       95.24   42      1       1       799     839     735     776     7e-08   60.0
MH001B05_S010393_J11_MF_933     Contigs144504_Length=984        86.61   381     36      4       479     847     983     606     1e-92    341
MH001B05_S010393_J11_MF_933     Contigs146808_Length=1231       85.18   452     49      7       409     847     205     651     1e-89    331
MH001B05_S010393_J11_MF_933     Contigs154353_Length=3556       85.51   428     53      6       334     756     2011    1588    8e-85    315
MH001B05_S010393_J11_MF_933     Contigs142817_Length=1515       85.57   395     51      6       326     716     961     1353    3e-75    283
MH001B05_S010393_J11_MF_933     Contigs142817_Length=1515       87.42   151     16      3       48      197     641     789     1e-27    125
MH001B05_S010393_J11_MF_933     Contigs144323_Length=1482       83.26   484     65      7       409     879     582     102     4e-74    280
MH001B05_S010393_J11_MF_933     Contigs144323_Length=1482       83.33   108     15      2       48      155     964     860     3e-07   58.0
MH001B05_S010393_J11_MF_933     Contigs142690_Length=967        82.29   463     68      4       431     881     441     901     6e-67    256
MH001B05_S010393_J11_MF_933     Contigs142690_Length=967        84.26   108     16      1       48      155     47      153     2e-11   71.9
MH001B05_S010393_J11_MF_933     Contigs40650_Length=369 86.47   303     37      4       456     757     5       304     2e-63    244
MH001B05_S010393_J11_MF_933     Contigs145923_Length=3222       82.44   484     68      8       409     881     2519    2996    4e-62    240
MH001B05_S010393_J11_MF_933     Contigs145923_Length=3222       83.85   161     22      4       48      207     2135    2292    2e-14   81.8
MH001B05_S010393_J11_MF_933     Contigs150372_Length=942        83.03   442     57      8       456     881     939     500     1e-61    238
》》》》》》》》》》》》》》》
有12个字段
现在,我想把第一个字段的MH001B05_S010393_J11_MF_933  最后面的数字提取出来933,输出成如下格式:
933     Contigs154725_Length=2223       88.40   474     39      6       390     848     627     1099    3e-133   476
933     Contigs154548_Length=2469       90.66   364     28      6       299     659     233     593     1e-111   404
933     Contigs154548_Length=2469       84.47   161     21      3       96      255     2       159     8e-20   99.6
933     Contigs154548_Length=2469       95.24   42      1       1       799     839     735     776     7e-08   60.0
哪位可以帮帮我,急啊!!
谢谢!

论坛徽章:
0
2 [报告]
发表于 2009-11-25 12:27 |只看该作者
while(<DATA>)
{
      /\w{24}(\d{3})(.+)/ig;
       print $1,$2,"\n";
}
__DATA__
MH001B05_S010393_J11_MF_933     Contigs154725_Length=2223       88.40   474     39      6       390     848     627     1099    3e-133   476
MH001B05_S010393_J11_MF_933     Contigs154548_Length=2469       90.66   364     28      6       299     659     233     593     1e-111   404
MH001B05_S010393_J11_MF_933     Contigs154548_Length=2469       84.47   161     21      3       96      255     2       159     8e-20   99.6
MH001B05_S010393_J11_MF_933     Contigs154548_Length=2469       95.24   42      1       1       799     839     735     776     7e-08   60.0
MH001B05_S010393_J11_MF_933     Contigs144504_Length=984        86.61   381     36      4       479     847     983     606     1e-92    341
MH001B05_S010393_J11_MF_933     Contigs146808_Length=1231       85.18   452     49      7       409     847     205     651     1e-89    331
MH001B05_S010393_J11_MF_933     Contigs154353_Length=3556       85.51   428     53      6       334     756     2011    1588    8e-85    315
MH001B05_S010393_J11_MF_933     Contigs142817_Length=1515       85.57   395     51      6       326     716     961     1353    3e-75    283
MH001B05_S010393_J11_MF_933     Contigs142817_Length=1515       87.42   151     16      3       48      197     641     789     1e-27    125
MH001B05_S010393_J11_MF_933     Contigs144323_Length=1482       83.26   484     65      7       409     879     582     102     4e-74    280
MH001B05_S010393_J11_MF_933     Contigs144323_Length=1482       83.33   108     15      2       48      155     964     860     3e-07   58.0
MH001B05_S010393_J11_MF_933     Contigs142690_Length=967        82.29   463     68      4       431     881     441     901     6e-67    256
MH001B05_S010393_J11_MF_933     Contigs142690_Length=967        84.26   108     16      1       48      155     47      153     2e-11   71.9
MH001B05_S010393_J11_MF_933     Contigs40650_Length=369 86.47   303     37      4       456     757     5       304     2e-63    244
MH001B05_S010393_J11_MF_933     Contigs145923_Length=3222       82.44   484     68      8       409     881     2519    2996    4e-62    240
MH001B05_S010393_J11_MF_933     Contigs145923_Length=3222       83.85   161     22      4       48      207     2135    2292    2e-14   81.8
MH001B05_S010393_J11_MF_933     Contigs150372_Length=942        83.03   442     57      8       456     881     939     500     1e-61    238

结果:
933     Contigs154725_Length=2223       88.40   474     39      6       390     848     627     1099    3e-133   476
933     Contigs154548_Length=2469       90.66   364     28      6       299     659     233     593     1e-111   404
933     Contigs154548_Length=2469       84.47   161     21      3       96      255     2       159     8e-20   99.6
933     Contigs154548_Length=2469       95.24   42      1       1       799     839     735     776     7e-08   60.0
933     Contigs144504_Length=984        86.61   381     36      4       479     847     983     606     1e-92    341
933     Contigs146808_Length=1231       85.18   452     49      7       409     847     205     651     1e-89    331
933     Contigs154353_Length=3556       85.51   428     53      6       334     756     2011    1588    8e-85    315
933     Contigs142817_Length=1515       85.57   395     51      6       326     716     961     1353    3e-75    283
933     Contigs142817_Length=1515       87.42   151     16      3       48      197     641     789     1e-27    125
933     Contigs144323_Length=1482       83.26   484     65      7       409     879     582     102     4e-74    280
933     Contigs144323_Length=1482       83.33   108     15      2       48      155     964     860     3e-07   58.0
933     Contigs142690_Length=967        82.29   463     68      4       431     881     441     901     6e-67    256
933     Contigs142690_Length=967        84.26   108     16      1       48      155     47      153     2e-11   71.9
933     Contigs40650_Length=369 86.47   303     37      4       456     757     5       304     2e-63    244
933     Contigs145923_Length=3222       82.44   484     68      8       409     881     2519    2996    4e-62    240
933     Contigs145923_Length=3222       83.85   161     22      4       48      207     2135    2292    2e-14   81.8
933     Contigs150372_Length=942        83.03   442     57      8       456     881     939     500     1e-61    238
933     Contigs150372_Length=942        83.03   442     57      8       456     881     939     500     1e-61    238
933     Contigs150372_Length=942        83.03   442     57      8       456     881     939     500     1e-61    238
933     Contigs150372_Length=942        83.03   442     57      8       456     881     939     500     1e-61    238
933     Contigs150372_Length=942        83.03   442     57      8       456     881     939     500     1e-61    238
933     Contigs150372_Length=942        83.03   442     57      8       456     881     939     500     1e-61    238

论坛徽章:
0
3 [报告]
发表于 2009-11-25 12:28 |只看该作者

回复 #1 jiesen 的帖子

perl -e 'open fh,urfile;while(<fh>){s/^.*_(\d+.*$)/$1/;print;}'

[ 本帖最后由 mwm5 于 2009-11-25 12:30 编辑 ]

论坛徽章:
0
4 [报告]
发表于 2009-11-25 12:31 |只看该作者

回复 #1 jiesen 的帖子

perl -pi -ne 's/^.*?(\d+ .*)/$1/g' putext.t3

论坛徽章:
0
5 [报告]
发表于 2009-11-25 12:32 |只看该作者

回复 #2 wfnh 的帖子

lz应该只是截取的文件中的一部分吧?如果前缀长度不固定,或者是后面数字不一定是3位,会出问题
感觉这样数字符个数,通用性可能差一些?

论坛徽章:
0
6 [报告]
发表于 2009-11-25 12:42 |只看该作者

回复 #4 toniz 的帖子

之前等级都到骑士了  现在又要重新开始  命苦啊  ~~~~(>_<)~~~~

论坛徽章:
0
7 [报告]
发表于 2009-11-25 12:44 |只看该作者

回复 #6 toniz 的帖子

和你学一手

perl -pn -e 's/^.*_(\d+.*)/$1/' urfile

btw:骑士有嘛用?

论坛徽章:
0
8 [报告]
发表于 2009-11-25 12:51 |只看该作者

回复 #1 jiesen 的帖子

lz是搞生物信息的吧,
有一个文本编辑软件ultraedit,你完全可以把MH001B05_S010393_J11_MF_替换为删除,
以前我这么搞过

论坛徽章:
0
9 [报告]
发表于 2009-11-25 13:06 |只看该作者
非常感谢各位的帮助,受教啦,我的路还很长啊,继续努力

论坛徽章:
0
10 [报告]
发表于 2009-11-25 13:36 |只看该作者

回复 #7 mwm5 的帖子

摆着好看呗 新手 这称呼太难听
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP