ошибка синтаксиса команды awk

$ awk '$2 - /^Tom$/ {print}' names.txt

Я пытаюсь искать файл, который имеет 2-е поле, соответствующее Tom.

Но я получаю эту ошибку:

awk: syntax error at source line 1
 context is
    $2 - /^Tom$/ >>>  { <<< 
2
задан 17 January 2017 в 08:12

1 ответ

У Вас есть синтаксическая ошибка. Должен быть

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
4
ответ дан 2 December 2019 в 02:16

Другие вопросы по тегам:

Похожие вопросы: