awk 命令语法错误

awk 命令语法错误
$ awk '$2 - /^Tom$/ {print}' names.txt

我正在尝试搜索具有与 Tom 匹配的第二个字段的文件。

但我收到了这个错误:

awk: syntax error at source line 1
 context is
    $2 - /^Tom$/ >>>  { <<< 

答案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

相关内容