Получить 3-й столбец, если второй столбец совпадает с переменной - PullRequest
0 голосов
/ 26 июня 2018

Я новичок в Awk и Linux. Я хочу напечатать 3-й столбец, если 2-й столбец совпадает с переменной.

file.txt
1;XYZ;123
2;ABC;987
3;ZZZ;999

Итак, я хочу напечатать 987, после проверки, является ли 2-й столбец ABC

name="ABC"
awk -F';' '$2==$name { print $3 }' file.txt

Но это не работает. Пожалуйста помоги. Обратите внимание, я хочу использовать только AWK, чтобы понять, как этого можно достичь с помощью awk.

1 Ответ

0 голосов
/ 26 июня 2018

Делайте следующее, и тогда он должен лететь. В awk переменные не работают как shell, вы должны явно упомянуть их, используя -v var_name в коде awk.

name="ABC"
awk -F';' -v name="$name" '$2==name{ print $3 }' file.txt
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...