2012-05-31 71 views
0

我找变焦理解为什么这样的:AWK多个条件语句不打印

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 

在此先感谢您的任何建议。

回答

3

你哪儿:

vvar2 

你拼错var2

+0

都能跟得上... AWK允许通过任何变量在这两种形式 ** - ** vvar1或 ** - v VAR1 ** –

+0

''vvvar1'上有3个'v'' – kev

+0

mmm ...我看到了,谢谢! –

0

作为避免这类问题的一种技术,您可以分配变量而不用-v。我会重写命令:

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

它似乎总是简单给我的节目后而不是程序之前-v选项指定变量作为自变量。 (-v分配是在BEGIN块可用的,但在这种情况下是不相关的。)

+0

哇...优秀的提示!谢谢!!! –