2014-03-28 83 views
0

我的shell脚本有问题。我需要的东西是这样的:如何在awk参数中比较if条件中的变量。 “如果$ variable与第三列$ 3相同......打印第三列”。它不适合我。Shell - Awk - 如果带变量

variable=large 
awk '{if ($3 == $variable) print "\n" $3}' temp 

回答

2
variable=large 
awk -v var="$variable" '{if ($3 == var) print "\n" $3}' temp 
+0

所以,问题取决于 “-v”? – SRewip

+0

@ user3456898说实话,问题是你没有仔细阅读手册页,并没有做一个谷歌。 '-v'选项被解释为手册页中的第三个选项。这种问题也被多次提出。 – Kent

+0

@ user3456898您也可以在最后使用变量,但请阅读该人员以了解为什么/为什么不。 'awk'{if($ 3 == var)print“\ n”$ 3}'var =“$ variable”temp'。并且总是使用双引号变量。 – Jotne