免费注册 查看新帖 |

Chinaunix

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

[学习分享] 求助:如何grep一个文件中含有关键词“OTU_”之后第八行的信息 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-12-13 17:23 |只看该作者 |倒序浏览
本帖最后由 ottchen 于 2014-12-13 17:23 编辑

大家好!我刚解除Linux,花了一个下午的时间才明白Grep命令的强大,但是还有很多不懂。如下:
Query= OTU_527

Length=134


                                                                   Score     E
Sequences producing significant alignments:                       (Bits)  Value

pdb|4UQ4|1  Chain 1, Mammalian 80s Hcv-ires Initiation Complex...    248   1e-62
pdb|4W23|2  Chain 2, Structure Of The 80s Mammalian Ribosome B...    248   1e-62
ref|XM_008252668.1|  PREDICTED: Oryctolagus cuniculus serine/a...    248   1e-62
ref|NR_046233.2|  Mus musculus 45S pre-ribosomal RNA (Rn45s), ...    248   1e-62
gb|KC876030.1|  Homo sapiens clone LA13_165F6 sequence               248   1e-62
gb|KC876029.1|  Homo sapiens clone LA14_101B3 sequence               248   1e-62
gb|KC876028.1|  Homo sapiens clone LA15_25H3 sequence                248   1e-62
ref|XR_233610.1|  PREDICTED: Bos taurus uncharacterized LOC101...    248   1e-62
tpg|BK000964.3|  TPA: Mus musculus ribosomal DNA, complete rep...    248   1e-62
ref|XM_004474322.1|  PREDICTED: Dasypus novemcinctus translati...    248   1e-62
pdb|3J3D|2  Chain 2, Structure Of The H. Sapiens 40s Rrna And ...    248   1e-62
gb|JF894380.1|  Crocuta crocuta isolate CC8 18S ribosomal RNA ...    248   1e-62
gb|JQ247698.1|  Mus musculus cell-line Neuro-2a 18S ribosomal ...    248   1e-62
ref|NR_046261.1|  Sus scrofa 18S ribosomal

Query= OTU_149

Length=131


                                                                   Score     E
Sequences producing significant alignments:                       (Bits)  Value

gb|KJ763281.1|  Uncultured eukaryote clone SGUH718 18S ribosom...    215   1e-52
gb|KJ763240.1|  Uncultured eukaryote clone SGUH649 18S ribosom...    215   1e-52
gb|KJ763193.1|  Uncultured eukaryote clone SGUH584 18S ribosom...    215   1e-52
gb|KJ762994.1|  Uncultured eukaryote clone SGUH1374 18S riboso...    215   1e-52
gb|JN048122.1|  Uncultured eukaryote clone BF9_20C1E 18S ribos...    169   1e-38
emb|FR874449.1|  uncultured marine picoeukaryote partial 18S r...    169   1e-38
gb|DQ314819.1|  Uncultured marine eukaryote clone NW617.36 18S...    169   1e-38
gb|DQ314818.1|  Uncultured marine eukaryote clone NOR46.02 18S...    169   1e-38
gb|DQ314817.1|  Uncultured marine eukaryote clone NOR26.21 18S...    169   1e-38
gb|DQ369016.1|  Uncultured marine eukaryote clone UEPACAHp3 18...    163   5e-37
gb|DQ369015.1|  Uncultured marine eukaryote clone UEPACLp3 18S...    163   5e-37
gb|EU371163.1|  Uncultured marine eukaryote clone NPK2_123 18S...    150

我想要的输出结果是:
Query= OTU_527
pdb|4UQ4|1  Chain 1, Mammalian 80s Hcv-ires Initiation Complex...    248   1e-62
Query= OTU_149
gb|KJ763281.1|  Uncultured eukaryote clone SGUH718 18S ribosom...    215   1e-52

如果使用grep -A 8 OTU_ /home/*.txt 就会把中间6行的无用信息也抓出来。
所以,我的问题是,?如何grep一个文件中含有关键词“OTU_”之后指定第N行的信息。
谢谢!

论坛徽章:
0
2 [报告]
发表于 2014-12-13 23:36 |只看该作者
同新手,用sed删掉中间6行?

论坛徽章:
18
处女座
日期:2014-11-13 15:52:322015亚冠之胡齐斯坦钢铁
日期:2015-08-14 16:09:082015亚冠之北京国安
日期:2015-06-02 18:41:152015亚冠之广州恒大
日期:2015-06-02 18:41:15NBA常规赛纪念章
日期:2015-05-04 22:32:032015年亚洲杯之中国
日期:2015-04-01 16:38:392015小元宵徽章
日期:2015-03-06 15:58:182015年亚洲杯之阿联酋
日期:2015-03-06 09:33:432015年辞旧岁徽章
日期:2015-03-04 13:32:472015年迎新春徽章
日期:2015-03-04 10:01:44拜羊年徽章
日期:2015-03-03 16:15:43洛杉矶快船
日期:2015-03-02 16:05:34
3 [报告]
发表于 2014-12-13 23:57 |只看该作者
grep -A 8 就是输出关键词后边的1-8行。至于指定第8行,,这个还得等大神来解决哈。。我也不会。。

论坛徽章:
10
金牛座
日期:2014-09-16 19:02:48技术图书徽章
日期:2015-11-24 01:37:29操作系统版块每日发帖之星
日期:2015-11-18 06:20:002015年亚洲杯之沙特阿拉伯
日期:2015-04-13 17:33:462015年迎新春徽章
日期:2015-03-04 09:51:162015年辞旧岁徽章
日期:2015-03-03 16:54:15午马
日期:2014-12-04 19:33:55白羊座
日期:2014-09-17 19:34:42巨蟹座
日期:2014-09-16 21:09:4815-16赛季CBA联赛之同曦
日期:2016-06-27 23:23:07
4 [报告]
发表于 2014-12-14 01:18 |只看该作者
用awk 比较方便,grep 不用管道我也不知道怎么搞了。

awk 方法
awk '/Query/{print;NR=1;next}{if(NR==9)print $0}' file
Query= OTU_527
pdb|4UQ4|1  Chain 1, Mammalian 80s Hcv-ires Initiation Complex...    248   1e-62
Query= OTU_149
gb|KJ763281.1|  Uncultured eukaryote clone SGUH718 18S ribosom...    215   1e-52

论坛徽章:
0
5 [报告]
发表于 2014-12-14 18:51 |只看该作者
我试了,怎么不行啊,结果是:把原文件的内容重新Print一遍,却不是你刚才显示的结果。 回复 4# qq58945591


   

论坛徽章:
0
6 [报告]
发表于 2014-12-14 18:55 |只看该作者
再试一次,可以了,太感谢大神您了!不过,这语句怎么看,能解释一下吗? 回复 4# qq58945591


   

论坛徽章:
10
金牛座
日期:2014-09-16 19:02:48技术图书徽章
日期:2015-11-24 01:37:29操作系统版块每日发帖之星
日期:2015-11-18 06:20:002015年亚洲杯之沙特阿拉伯
日期:2015-04-13 17:33:462015年迎新春徽章
日期:2015-03-04 09:51:162015年辞旧岁徽章
日期:2015-03-03 16:54:15午马
日期:2014-12-04 19:33:55白羊座
日期:2014-09-17 19:34:42巨蟹座
日期:2014-09-16 21:09:4815-16赛季CBA联赛之同曦
日期:2016-06-27 23:23:07
7 [报告]
发表于 2014-12-14 19:44 |只看该作者
回复 6# ottchen


    我awk水平很水,简单点处理会,复杂的就蛋疼了。

上面命令是这样。
先找出Query 这一行,然后打印出来,再把行号设置为1,继续处理下一行,然后判断如果到了第9行的话就把第9行给打印出来。

论坛徽章:
0
8 [报告]
发表于 2014-12-15 20:01 |只看该作者
哈哈,很有才,简单实用。谢谢啦!
qq58945591 发表于 2014-12-14 19:44
回复 6# ottchen

论坛徽章:
0
9 [报告]
发表于 2014-12-15 20:37 |只看该作者
再打扰您最后一次,若我需要第八行和第十行的信息,该怎么改?谢谢! 回复 4# qq58945591


   

论坛徽章:
48
15-16赛季CBA联赛之青岛
日期:2021-01-07 13:41:2315-16赛季CBA联赛之上海
日期:2020-12-01 18:02:0720周年集字徽章-20	
日期:2020-10-28 14:14:2620周年集字徽章-20	
日期:2020-10-28 14:04:3015-16赛季CBA联赛之天津
日期:2020-10-18 22:51:412016猴年福章徽章
日期:2016-02-18 15:30:3415-16赛季CBA联赛之北控
日期:2015-12-22 13:30:48操作系统版块每日发帖之星
日期:2015-12-07 06:20:00操作系统版块每日发帖之星
日期:2015-09-04 06:20:002015亚冠之德黑兰石油
日期:2015-08-05 18:46:082015年亚洲杯之巴勒斯坦
日期:2015-04-19 10:42:502015年亚洲杯之巴林
日期:2015-04-09 08:03:23
10 [报告]
发表于 2014-12-15 21:15 |只看该作者
回复 1# ottchen

如果不要Query那一行的话,加管道可以拿到第8行:
$ grep -A 8 OTU_527 <file> | tail -n 1
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP