我是Awk和linux的新手。如果第二列与变量匹配,我想打印第三列。
file.txt
1;XYZ;123
2;ABC;987
3;ZZZ;999
所以我要打印987,检查第二列是否为ABC
name="ABC"
awk -F';' '$2==$name { print $3 }' file.txt
但这不起作用。请帮忙。请注意,我只想使用AWK,以了解如何使用awk来实现。
答案 0 :(得分:0)
执行以下操作,然后它应该会飞行。在awk
中,变量不能像shell那样工作,您必须通过在awk代码中使用-v var_name
来明确提及它们。
name="ABC"
awk -F';' -v name="$name" '$2==name{ print $3 }' file.txt