AWK多个条件不打印

时间:2012-05-31 23:56:32

标签: printing awk multiple-conditions

我正在寻找缩放以了解其原因:

palabra=s_gonzalez
i=10
awk -vvar1=$palabra -vvvar2=$i '( $1 == var1 ) && ( $2 == var2 ) {print $0}' As

没有打印任何东西。 As文件包含:

r_castillo  10
flores  6
s_gonzalez  10
o_gutzwiller    12
h_ji    4

提前感谢任何建议。

2 个答案:

答案 0 :(得分:3)

你在哪里:

vvar2

你拼错了var2吗?

答案 1 :(得分:0)

作为避免此类问题的技术,您可以在不使用-v的情况下分配变量。我会重写命令:

awk '$1==var1 && $2==var2' var1=$palabra var2=$i As

在程序之后将变量作为参数分配而不是在程序之前作为-v选项,这似乎总是更简单。 -v块中提供了BEGIN个分配,但在这种情况下这是无关紧要的。)