29

Bash は「else」に矢印を向け、挑発的な泣き言で「構文エラー」と言いました。

awk '{if($3 != 0) a = ($3/$4) print $0, a; else if($3==0) print $0, "-" }' file > out

なんで?

4

2 に答える 2

38

if ブロックを囲む中括弧と、ブロック内のステートメント間のセミコロンを忘れました。

awk '{if($3 != 0) {a = ($3/$4); print $0, a;} else if($3==0) print $0, "-" }' file > out
于 2012-05-24T14:40:34.810 に答える
4

コードを試す

awk '{s=($3==0)?"-":$3/$4; print s}'
于 2013-02-18T06:57:11.903 に答える