awk命令无法使用OR条件

时间:2016-08-01 07:54:16

标签: bash unix awk

我正在使用awk命令

awk -F'\t' 'BEGIN {OFS=",";} $9=="Consumer" && $4!="" && ($12!="" OR $13!="")  {print $1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16}' TEL_DATA_JUL2016_fxtcupd1.TXT

我希望至少有一个来自12或13的字段应该不为null但是命令没有给出期望的结果。

有人可以解释上面命令中的问题。

由于

1 个答案:

答案 0 :(得分:1)

逻辑OR运算符应为||。不是OR。你的awk应该是,

awk -F'\t' 'BEGIN{OFS=","} $9=="Consumer" && $4!="" && ($12!="" || $13!="") {print $1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16}' file