免费注册 查看新帖 |

Chinaunix

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

[文本处理] 选取长度最长的行 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2017-07-31 10:23 |只看该作者 |倒序浏览
数据处理过程中遇到一些问题,希望大神帮忙解决:

1.txt如下,header里面同一个comp, 有很多片段(seq), 目标是同一个comp,可以依据len长度,选取最长的片段,O(∩_∩)O谢谢
>comp0_seq0 len=4383 path=[0:894;27:5;26:407;24:18;23:463;21:4;20:79;19:28;29:74;17:7;16:266;14:8;15:73;9:89;7:337;6:4;4:44;3:6;1:498;12:1079]
CTTTAAATACTATAAGATTGTTTTCTTTTTATCTTTATTTCTTTTAAAGATACTACTTAG
GTATGTTTTTTGTATAATAGCTTTTTTTATTCTTTTTTTGGTTTGTTCAATAATTGGGTA
GCTAACTAGAGTGCCAGCAGCTGCGGTTATTCTCTGTATTGCTTTTTATTTATTTTTTTG
>comp0_seq1 len=2968 path=[30:483;29:74;17:7;16:266;13:3;10:5;15:73;8:91;7:337;5:4;4:44;2:4;1:498;12:1079]
TACGCTTTGAATCAGTTGGAAAATAATTGATCAGTGCATAATCTCTAAATAGTCTGATCT
AGTGACTGTTAAAAACGTAAGCTTGGAAAATAATATTTTTTTTATTGAATAAATTTTTTT
ATTTGTTTATTTTATTGATTTTTTACAAAATAATTTTGTAATAAACATCAAAATTTTGGG
AATTGTATAGTAATAGATTGTTGAAATGTTAATATTTTTTTAAAATG
>comp1_seq0 len=4363 path=[0:279;13:1768;11:2;9:802;6:1;4:15;2:8;1:1247;15:241]
GAGTAAATGATATGATTCTTGTATTATTGTTGGTTGTTAAAATTTAAAATTTCTGTAAAG
ATGCAGTTGTTAGTTTAAAGACGAAAAGACCCTACAGAGCTTTTAGTTTATTTGTTTGTT
GCTTTTGGATGGGATATTCTCTTTTTTTTTAAAAGATTGTTTAATATGTTAAGCTTCCTT
AGGGATAACAGGGAGATATTTTCTAGGAGTTCGTATCTAAGAATTTGTTTTCTACCTCGA
TGTTGAATTATAGTTAAGCTTGGGAGCAGGAGCTC
>comp1_seq1 len=4738 path=[0:279;13:1768;17:377;9:802;6:1;4:15;3:8;1:1247;15:241]
GTGCTGCAAATACTTTAGATATTGCTTTTAATACATTTTTTTATTTTTGCTTGAAAATAG
CTGATTGAGTT
>comp1_seq2 len=3450 path=[14:311;13:1768;12:278;9:802;6:1;5:165;8:125]
TACGCTTTGAATCAGTTGGAAAATAATTGATCAGTGCATAATCTCTAAATAGTCTGATCT
AGTGACTGTTAAAAAC



结果文件:
>comp0_seq0 len=4383 path=[0:894;27:5;26:407;24:18;23:463;21:4;20:79;19:28;29:74;17:7;16:266;14:8;15:73;9:89;7:337;6:4;4:44;3:6;1:498;12:1079]
CTTTAAATACTATAAGATTGTTTTCTTTTTATCTTTATTTCTTTTAAAGATACTACTTAG
GTATGTTTTTTGTATAATAGCTTTTTTTATTCTTTTTTTGGTTTGTTCAATAATTGGGTA
GCTAACTAGAGTGCCAGCAGCTGCGGTTATTCTCTGTATTGCTTTTTATTTATTTTTTTG
>comp1_seq1 len=4738 path=[0:279;13:1768;17:377;9:802;6:1;4:15;3:8;1:1247;15:241]
GTGCTGCAAATACTTTAGATATTGCTTTTAATACATTTTTTTATTTTTGCTTGAAAATAG
CTGATTGAGTT


O(∩_∩)O谢谢各位











论坛徽章:
145
技术图书徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11狮子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龙
日期:2014-01-08 15:26:12技术图书徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
2 [报告]
发表于 2017-07-31 10:47 |只看该作者
回复 1# 蓝色未央

$ awk -vRS="\n>" 'function g(s,d){sub(d,"",s);return(s)}{sub(">","",$1);k=g($1,"_.*");l=g($2,"len=");if(a[k]<l){a[k]=l;b[k]=">"$0}}END{for(n in b)print b[n]}' FILE
>comp0_seq0 len=4383 path=[0:894;27:5;26:407;24:18;23:463;21:4;20:79;19:28;29:74;17:7;16:266;14:8;15:73;9:89;7:337;6:4;4:44;3:6;1:498;12:1079] CTTTAAATACTATAAGATTGTTTTCTTTTTATCTTTATTTCTTTTAAAGATACTACTTAG GTATGTTTTTTGTATAATAGCTTTTTTTATTCTTTTTTTGGTTTGTTCAATAATTGGGTA GCTAACTAGAGTGCCAGCAGCTGCGGTTATTCTCTGTATTGCTTTTTATTTATTTTTTTG
>comp1_seq1 len=4738 path=[0:279;13:1768;17:377;9:802;6:1;4:15;3:8;1:1247;15:241]
GTGCTGCAAATACTTTAGATATTGCTTTTAATACATTTTTTTATTTTTGCTTGAAAATAG
CTGATTGAGTT

论坛徽章:
30
申猴
日期:2014-04-10 09:43:532015年亚洲杯纪念徽章
日期:2015-03-20 14:40:232015亚冠之阿尔纳斯尔
日期:2015-06-02 18:59:042015亚冠之阿尔希拉尔
日期:2015-06-30 15:22:572015亚冠之大阪钢巴
日期:2015-07-20 10:44:332015亚冠之阿尔纳斯尔
日期:2015-10-28 14:57:5215-16赛季CBA联赛之新疆
日期:2015-12-25 10:18:45黑曼巴
日期:2016-06-26 21:39:5315-16赛季CBA联赛之山西
日期:2016-07-25 21:54:2715-16赛季CBA联赛之北京
日期:2016-10-27 12:07:2315-16赛季CBA联赛之八一
日期:2017-07-07 16:39:0915-16赛季CBA联赛之吉林
日期:2017-09-04 12:14:43
3 [报告]
发表于 2017-07-31 10:56 |只看该作者
回复 1# 蓝色未央


  1. awk -vRS='>' -F '[_ =]+' 'NF{a[$1 $4]=$0;if(b[$1]<$4) {b[$1]=$4}}END{for(i in b) printf ">"a[i b[i]]}' file
复制代码

论坛徽章:
0
4 [报告]
发表于 2017-08-01 15:39 |只看该作者
回复 2# jason680

谢谢您的帮助

论坛徽章:
0
5 [报告]
发表于 2017-08-01 15:39 |只看该作者
回复 3# zxy877298415

谢谢大神,awk真是神一般的存在
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP