在几列中包含精确字符串的行打印 awk ubuntu



如何打印出awk中的行,这些行在某些列中包含某些字符串,例如第一列中的str = "x"和第二列中的str = "y"?

x  y
d  y
f  o
x  o

所以在这个例子中只打印第一行?

提前感谢!

$ awk '$1=="x" && $2=="y"' file
x  y

工作原理

awk 语句由条件和操作组成。 在这种情况下,条件是第一列等于 x 列,第二列等于 y 。 由于我们没有指定操作,awk 执行其默认操作,即打印行。

换句话说,$1=="x" && $2=="y"是一种条件。 &&的意思是逻辑和。 因此,只有当$1=="x"$2=="y"都为真时,此条件才成立。

最新更新