如何在AWK中获取扩展变量

时间:2014-11-06 19:06:42

标签: bash awk

美好的一天,

我想知道如何在AWK中获取扩展变量。

要传递的变量:achi

但是,当我尝试:

awk -F, -v var1="achi" '$(NF-1)~var1' file

它不起作用。它会打印与achi匹配的所有行。

我会很感激一些正确的见解。

输入

achi, francia
nachi, peru
universidad achi, japon
achito, suecia

预期输出

achi, francia

1 个答案:

答案 0 :(得分:3)

您似乎正在尝试使用模式匹配运算符~来测试等效性。测试等价的适当运算符是==

awk -F, -v var1="achi" '$(NF-1)==var1' file

如果您需要更多字段,则应考虑使用逗号空格分隔您的值,可以使用", "作为字段分隔符来完成。

awk -F", " -v var1="achi" '$(NF-1)==var1'