ある入力から複数行を選択し、一度に別のファイルに保存する方法は?

ある入力から複数行を選択し、一度に別のファイルに保存する方法は?

stdoutは大量のデータを処理する必要がありますが、数行しか必要ありません。

で始まる行の一部のデータと、で始まる行の一部のデータをLabel 3ファイルに追加したいとします。F3.csvLabel 5F5.csv

入力例 - STDOUTから

Label 1 25
Label 2 60
Label 3 70
Label 4 95
Label 5 100

出力

70に追加します。F3.csv100F5.csv

これが可能か、可能であればどうするか知りたいです。

もし解決策を知っていますか?

ベストアンサー1

Awkを使用すると、これを簡単に実行できます。

awk '/Label 3/ { print $3 >>"F3.csv" } /Label 5/ { print $3>>"F5.csv" }'

これは追加次に始まる行の値タグ3そしてタグ5ファイルとしてF3.csvそしてF5.csvそれに応じて。

これはより簡潔に書くこともできます。

awk '/Label 3|Label 5/ { print $3 >> "F"$2".csv"}'

タグサフィックスでターゲットファイル名を推論できることをご利用ください。

(@don_crisstiに感謝!)

おすすめ記事