我是Awk和linux的新手。如果第 2 列与变量匹配,我想打印第 3 列。
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 实现这一点。
执行以下操作,然后它应该会飞。awk
变量不像 shell 那样工作,您必须通过在 awk 代码中使用-v var_name
来明确提及它们。
name="ABC"
awk -F';' -v name="$name" '$2==name{ print $3 }' file.txt