ファイルからすべての偶数行と奇数行を取得し、Evenfile と Oddfile などの 2 つの異なるファイルに保存するにはどうすればよいですか?

ファイルからすべての偶数行と奇数行を取得し、Evenfile と Oddfile などの 2 つの異なるファイルに保存するにはどうすればよいですか?

「a.txt」というファイルがあり、そのファイルに 100 行あるとします。ここで、奇数行 (つまり 1、3、5 行目など) を抽出して、Odd.txt などの別のファイルに保存し、すべての偶数行についても同じ操作を行って、ソース ファイルをそのままにして、even.txt ファイルに保存します。

答え1

以下を使用できますawk:

awk '{ print > (NR % 2 ? "odd.txt" : "even.txt") }' a.txt

これは、現在の行番号に応じて、またはからa.txt行を読み取り、追加します。odd.txteven.txt

答え2

sed

sed -ne 'w odd.txt' -e 'n; w even.txt' a.txt

関連情報