打印带有匹配和下一行的行,但只有第一个匹配,来自字符串文件

时间:2015-08-27 14:55:26

标签: regex awk grep

我有两个文件,一个是换行符分隔的数字ID列表

>cat list.txt
3342
232
...

和一个在

之后的行中有ID和一些序列数据的人
>cat Seqeunce.txt

>600
ATCGCGG
>3342
ACTCGGTC
>232
TGTGCT
>3342
ACGCGGTC

我想打印ID匹配和下一行的所有行,但只是第一次找到匹配。 所以,输出将是:

> ...some code... list.txt Sequence.txt
>3342
ACTCGGTC
>232
TGTGCT

请注意,只打印第一次出现ID 3342和下一行的行

我尝试使用grep,

grep -f list.txt -A 1 -m 1 Sequence.txt 

但它没有用。只运行grep -A 1和-m 1,实际ID就产生了我想要的东西,但是我有数千个ID,并且不能手动运行。

1 个答案:

答案 0 :(得分:0)

你是如此亲密。试一试:

for id in `cat list.txt`; do grep -A 1 -m 1 -x ">$id" Sequence.txt; done