さまざまな条件に応じて、awkを使用してさまざまな出力ファイルにさまざまな行を印刷したい
awk '{if($2>10) print > outfile1; else print > outfile2}' infile
しかし、このスクリプトはそれを変更する方法では機能しませんか?ありがとう!>
さまざまな条件に応じて、awkを使用してさまざまな出力ファイルにさまざまな行を印刷したい
awk '{if($2>10) print > outfile1; else print > outfile2}' infile
しかし、このスクリプトはそれを変更する方法では機能しませんか?ありがとう!>
ファイル名は二重引用符で囲む必要があります。
awk '{if($2>10) {print > "outfile1"} else {print > "outfile2"}}' infile
これを試してみてください:
awk '{if($2>10) print > "outfile1"; else print > "outfile2"}' infile
を省略"
すると、(おそらく存在しない)変数にリダイレクトされます。私の場合、ファイルにリダイレクトします。
awk '{print > "outfile" ($2>10 ? 1 : 2)}' infile
代わりに、2回だけ調べることができます。
cat infile | awk '{if($2>10) print}' > outfile; cat infile | awk '{if($2<=10) print}' > outfile2
宛先ファイル名を二重引用符で囲んでください。これで準備完了です。