awk
条件が確認されたときにファイルに書き込むコマンドの三項構文は何ですか?
以下で試しましたが、与えられた入力に対して構文エラーが発生しました!
サンプルデータ入力infile.txt
:
1,1,c
0,3,b
0,0,a
1,5,z
1,5,y
5,5,x
注文する:
awk -F',' '{print (($1==$2)?>"success.txt": >"failed.txt")}' infile.txt
awk: {print (($1==$2)?>"success.txt": >"failed.txt")}
awk: ^ syntax error
awk: {print (($1==$2)?>"success.txt": >"failed.txt")}
awk: ^ syntax error
使用できますが、if/else
三項構文の可能性について知りたいです。たぶんリダイレクトを>
間違って使用しているのでしょうか?
awk -F',' '{if ($1==$2) print >"success.txt";else print >"failed.txt"}' infile.txt
ベストアンサー1
三項演算子がリダイレクトではなくファイルのみを選択するようにします。
awk -F',' '{print >(($1==$2)?"success.txt": "failed.txt")}'