$ awk '$2 - /^Tom$/ {print}' names.txt
Я пытаюсь искать файл, который имеет 2-е поле, соответствующее Tom.
Но я получаю эту ошибку:
awk: syntax error at source line 1
context is
$2 - /^Tom$/ >>> { <<<
У Вас есть синтаксическая ошибка. Должен быть
awk '$2 ~ /Tom/ {print}' names.txt
или
awk '$2 == "Tom" {print}' names.txt
Примечание, которое {print}
является ненужным. Awk распечатает строки, для которых соответствие условию верно автоматически.
$ awk '$2 =="Tom"' input.txt
Edison, Tom
$ cat input.txt
Washington, George
Edison, Tom
Tesla, Nik