我有一个名为 l.txt 的文件,其中包含以下数据、名字和姓氏。当我传递名字时,输出应该是姓氏。以下查询对我有用。
l.txt
name Tony Mcgill
name Jag John
name Jagmohan Singh
这对名字 tony 很有效。但是当我搜索 jag 时,它给出了两个结果,John & Singh。但我只需要约翰。我怎样才能做到这一点。
grep -e '^'"name jag" l.txt | awk '{print $3}'
我正在使用这个命令。
最佳答案
你可以使用 grep -w
来匹配一个词:
grep -iw 'tony' file
name Tony Mcgill
或者在您的 grep
中使用单词边界:
grep -i '\<tony\>' file
或者:
grep -i '\btony\b' file
关于linux - 当存在歧义时使用grep从linux中的txt文件中提取文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24998138/