【发布时间】:2018-12-06 22:28:06
【问题描述】:
我有一个文件,其中包含如下几行:
>header1
<pattern_1>CGGCGGGCAGATGGCCACCAACAACCAGAGCTCCCTGGCCGGGCCTCTTTTCCTGACGGCCGCCCCCACTGCCCCCACGACCGGCCCGTACAAC<pattern_2>
>header2
<pattern_1>CGGCGGGCAGATGGCCACCAACAACCAGAGCTCCCTGGCCTGCAATCACTACTCGTGTTTTGCCACCACTGCCCCCACGACCGGCACGTACAAC<pattern_2>
>header3
<pattern_1>ATGGCCACCAACAACCAGAGCTCCC
>header4
GACCGGCACGTACAACCTCCAGGAAATCGTGCCCGGCAGCGTGTGGATGGAGAGGGACGTG
>header5
TGCCCCCACGACCGGCACGTACAAC<pattern_2>
我想提取包含标题行的所有行。
我尝试过使用 grep,但它只提取序列行而不提取标题行。
grep <pattern_1> | grep <pattern_2> input.fasta > output.fasta
如何在 Linux 中提取同时包含模式和标题的行?图案可以出现在线条中的任何位置。不限于行的开头或结尾。
预期输出:
>header1
<pattern_1>CGGCGGGCAGATGGCCACCAACAACCAGAGCTCCCTGGCCGGGCCTCTTTTCCTGACGGCCGCCCCCACTGCCCCCACGACCGGCCCGTACAAC<pattern_2>
>header2
<pattern_1>CGGCGGGCAGATGGCCACCAACAACCAGAGCTCCCTGGCCTGCAATCACTACTCGTGTTTTGCCACCACTGCCCCCACGACCGGCACGTACAAC<pattern_2>
【问题讨论】:
-
我想提取所有包含标题行的行。对我来说毫无意义。请为该输入添加预期输出(或更具体)。
-
也许是另一种选择?
grep -E "pattern|header" file -
注意fasta文件可以有多行序列。