awkを使用してファイルにレコードを追加する

awkを使用してファイルにレコードを追加する

私はawkを使用して複数の.csvファイルを読み込み、条件を使用してそのファイルのレコードを別のcsvファイルにフィルタリングする多対一フィルタリングを実行しています。コマンドは

awk -F, '{if($1=="OPTSTK"&&$13>0)print > "stockoptions.csv";}' fo1.csv fo2.csv

このコマンドは、新しいcsvファイルセット(fo3.csvやfo4.csvなど)に対してこのコマンドを実行したときに以前のコマンド実行の出力を上書きすることを除いて、私のためにアクションを実行します。コマンドの最初の実行出力に後続の実行出力を追加する方法はありますか?

答え1

はい、>>代わりに使用してください>

たとえば、

awk -F, '$1 == "OPTSTK" && $13 > 0 { print >> "stockoptions.csv" }' fo1.csv fo2.csv

または、シェルがリダイレクトを実行してコマンドを減らすようにしますawk

awk -F, '$1 == "OPTSTK" && $13 > 0' fo1.csv fo2.csv >>"stockoptions.csv"

関連情報