我想要点击> contig_18,跟随它的文本行,然后在> contig_19之前停止。
我不明白如何在> contig_18之后grep多行文本而不给出确切的换行符数。
例如:请注意,重叠群之间通常会有1000多行文字。
>contig_18
GCACAGACGGCCGACTTTAGAGAATCTGAGTTTGGAGCGCTGCCGGT
GAATCCAGATGACTTAACCGGCCACGTCTCCCTATGACCTGCATTTT
GAAAGAGATCTGCTTCAGATGCGATCTCCATTAGGATATCAACTTGG
CCGATCGCATCGTCGAGAGCGGAGACACGGCAGCCAACCTTCTTGAG
AGTCCTTTTCAGCTCGCGAAGGGCTTCAAGTACTTCCGGAGAGAACG
GGTCGACAAGTGGATCAGGCAAAGTTGCGATTTCCACGCGTGTCGAT
TCTGACTCGCTCATTTGATCCCCCGTGGCATTCTGCGCGGGTTGGAG
>contig_19
谢谢!
答案 0 :(得分:1)
如果您的系统中有awk
,则可以执行以下操作:
awk '/^>contig_18/ {f=1} f; /^>contig_19/ {f=0}' file
它将从>contig_18
开始的所有数据到包含>contig_19
的包含行
你也可以使用它,但我更喜欢第一个,因为它更具定制性:
awk '/^>contig_18/,/^>contig_19/' file
或者您可以使用sed
sed -n '/^>contig_18/,/^>contig_19/p' file
答案 1 :(得分:1)
如果您真的想使用grep
,可以这样做:
grep -A 9999 "^>contig_18" file | grep -B 9999 "^>contig_19"
这表示在contig_18
之后找到最多9,999行,并且从contig_19
之前找到最多9,999行。