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と同じ内容を返します。

@patternで始まる最初の100個のシーケンスを選択し、grepそれを使用して新しいファイルに圧縮する方法はgzip

ありがとう

答え1

catコマンドにファイル名を指定するため、パイプで連結した内容を無視してファイルのみを出力します。なぜ猫を使いたいのか分からない。 gzipはプロセスの開始ではなく最後になければなりません。

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

次の行だけが必要な場合は「^ @」を使用してください。スタートそして@。これにより、@を含むすべての行が生成されます。

関連情報