awk 逻辑运算符

awk logical operator

我有两个问题想请教。我会按顺序编号的。请在回答时考虑一下。

  1. i%2!=0 不同于 !(i%2)。 我正在处理一个 awk 表达式,在交换这些表达式时得到了不同的输出。

awk 'BEGIN{OFS=";"}!(NR%2){printf p,[=12=];}{p=[=12=]}' 给了我想要的输出但是

awk 'BEGIN{OFS=";"}(NR%2!=0){printf p,[=13=];}{p=[=13=]}' 给出了其他东西。这里有什么问题??

!(NR%2) 类似于 (NR%2)==0NR%2==0。它与 NR%2!=0 相反,这解释了为什么你得到不同的输出。