【发布时间】:2012-05-31 03:53:54
【问题描述】:
Bash 将箭头指向“else”并用挑衅的抱怨语气说“语法错误”。
awk '{if($3 != 0) a = ($3/$4) print $0, a; else if($3==0) print $0, "-" }' file > out
为什么?
【问题讨论】:
标签: if-statement awk syntax
Bash 将箭头指向“else”并用挑衅的抱怨语气说“语法错误”。
awk '{if($3 != 0) a = ($3/$4) print $0, a; else if($3==0) print $0, "-" }' file > out
为什么?
【问题讨论】:
标签: if-statement awk syntax
您忘记了 if 块周围的大括号,以及块中语句之间的分号。
awk '{if($3 != 0) {a = ($3/$4); print $0, a;} else if($3==0) print $0, "-" }' file > out
【讨论】:
$4为0。
试试代码
awk '{s=($3==0)?"-":$3/$4; print s}'
【讨论】: