2012-05-31 70 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

哇...優秀的提示!謝謝!!! –