繁体   English   中英

有歧义时,使用grep从Linux中的txt文件中提取文本

[英]extract text from txt file in linux using grep when there is ambguity

我有一个名为l.txt的文件,其中包含以下数据,名字和姓氏。 当我传递名字时,输出应为姓氏。 下面的查询对我有用。

l.txt

name Tony Mcgill
name Jag John
name Jagmohan 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

您也可以在执行所有操作:

awk '$2~/\<Jag\>/ {print $3}' l.txt

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM