这就是我想要在理论上运行的东西
awk 'BEGIN {FS=OFS=","}
{if( $4 != "" || $4 != "Store Number")
print $2}' $file >>out;
相反,我从$ file获得所有记录(即没有应用条件)
但是,我检查了以下工作:
awk 'BEGIN {FS=OFS=","}
{if( $4 != "")
print $2}' $file >>out;
尝试了大多数措辞的组合,包括!(cond1 || cond2),!〜,if((cond1)||(cond2)),但都没有效果。我在Windows 10 bash中运行awk。
$4 != "" || $4 != "Store Number"
可以失败的唯一字符串是同时是""
和"Store Number"
的字符串!
因为这显然是不可能的,所以它不会过滤任何东西,正如你所看到的那样。
你可能打算使用&&
。
顺便说一下,如果你使用awk
的条件部分,你可以稍微简化你的代码:
BEGIN {FS=OFS=","}
$4 != "" && $4 != "Store Number" {print $2}
不包括或不包括b(除非a == b)。
答案:!= a &&!= b
感谢您的快速解答;;是时候刷新我的集合/逻辑了。