我有一个名为l.txt的文件,其中包含以下数据,名字和姓氏。当我传递第一个名字时,输出应该是姓氏。以下查询对我有用。
l.txt
name Tony Mcgill
name Jag John
name Jagmohan Singh
适用于名称tony。但当我搜索jag时,它给出了两个结果,John&辛格。但我只需要约翰。我怎样才能做到这一点。
grep -e '^'"name jag" l.txt | awk '{print $3}'
我正在使用此命令。
答案 0 :(得分:2)
您可以使用grep -w
来匹配单词:
grep -iw 'tony' file
name Tony Mcgill
或者在grep
中使用字边界:
grep -i '\<tony\>' file
OR:
grep -i '\btony\b' file
答案 1 :(得分:0)
您也可以在awk中执行所有操作:
awk '$2~/\<Jag\>/ {print $3}' l.txt