使用 grep -m 将 X 行保存到新的压缩文件中

使用 grep -m 将 X 行保存到新的压缩文件中

我有一个具有以下模式的文件:

@A00479:60:HL5HKDSXX:1:1101:1759:1000 1:N:0:CAGCGTTA
TGAGCCACAGACCCTGGATCCCTCCCTGAGGTCCCATGGGACGGGCAGGCTGGGCATACCTGCAGAGAAGATGTGGCCAGCCACGGCCAGGAACGCATCGGTCACCACAGGCTCAGACTGCAGGGAGATGTGCAGCTGACGCGCCACGTTG
+
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

我想使用 grep “挑选”前 100 个具有模式“@”的序列并将其保存到新的压缩文件中

我正在尝试这样的事情

gzip | grep -m 10 @ test_seq_R1.fasta | cat test_seq_R1.fasta > test_seq_R1_zipped

但它基本上从原始文件 test_seq_R1.fasta 返回相同的内容。

如何选择以 @ 模式启动的前 100 个序列并使用grep和将其压缩到新文件gzip

谢谢

答案1

由于您为 cat 命令指定了文件名,因此它会忽略通过管道传送给它的内容并仅输出文件。根本不知道你为什么要使用 cat 。 gzip 肯定应该在该过程的末尾,而不是开始。

grep -m 100 @ test_seq_R1.fasta | gzip >  test_seq_R1_zipped.gz

如果您只想要以下行,请使用“^@”开始和 @。这将产生所有带有 @ 的行。

相关内容