Bash将一个箭头指向“else”,并以冒犯的呜呜声说出“语法错误”.
awk '{if($3 != 0) a = ($3/$4) print $0,a; else if($3==0) print $0,"-" }' file > out
为什么?
解决方法
你忘记了if块的大括号,以及块中的语句之间的分号.
awk '{if($3 != 0) {a = ($3/$4); print $0,a;} else if($3==0) print $0,"-" }' file > out