【问题标题】:Awk command not working with OR conditionawk 命令不适用于 OR 条件
【发布时间】:2016-12-06 05:24:04
【问题描述】:

我在下面使用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 中的至少一个字段不应该为空,但命令没有给出想要的结果。

谁能解释一下上述命令的问题所在。

谢谢

【问题讨论】:

  • 不是OR。应该是||
  • 谢谢@sat 你救了我的命 :)

标签: bash unix awk


【解决方案1】:

逻辑或运算符应为||。不是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

【讨论】:

    猜你喜欢
    • 2021-01-29
    • 2014-07-06
    • 1970-01-01
    • 2012-12-05
    • 1970-01-01
    • 1970-01-01
    • 2011-08-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多