stdoutは大量のデータを処理する必要がありますが、数行しか必要ありません。
で始まる行の一部のデータと、で始まる行の一部のデータをLabel 3
ファイルに追加したいとします。F3.csv
Label 5
F5.csv
入力例 - STDOUTから
Label 1 25
Label 2 60
Label 3 70
Label 4 95
Label 5 100
出力
と70
に追加します。F3.csv
100
F5.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に感謝!)
答え2
この試み -
#sed -e '/Label\ 3/w F3.csv' -e '/Label\ 5/w F5.csv' sed.txt
Label 1 25
Label 2 60
Label 3 70
Label 4 95
Label 5 100
#head F?.csv
==> F3.csv <==
Label 3 70
==> F5.csv <==
Label 5 100