GREP 仅当整个字符串
Posted
技术标签:
【中文标题】GREP 仅当整个字符串【英文标题】:GREP only if whole string 【发布时间】:2022-01-08 19:35:15 【问题描述】:这是 list.txt 文件:
001 Linux000
002 Linux001
003 Linux002
cat list.txt | grep 002
返回:
002 Linux001
003 Linux002
但我只需要获取 002 所在的行,而不是 Linux002。
002 Linux001
【问题讨论】:
sooogrep -w 002
??
或:grep ^002
对于单词的匹配,一般是grep -w 002 list.txt
。当然,这意味着您对单词是什么的理解与 grep 认为是单词的想法相同。例如,结果可能取决于语言环境。也许您应该更准确地定义您想要实现的目标。
@MrV :但请记住,ceving 的建议也会匹配一行 0020 Linux002
。
awk '$1=="002"' list.txt
?
【参考方案1】:
grep
有效吗?
$ grep '\<002\>' input_file
002 Linux001
【讨论】:
【参考方案2】:使用 GNU grep 考虑字边界 (\b
):
grep '\b002\b' list.txt
【讨论】:
你的回答没问题,但如果我有 Linux-002 它将无法工作,它还会显示包含 Linux-002 的行... @MrV。您的问题中未指定这种情况。以上是关于GREP 仅当整个字符串的主要内容,如果未能解决你的问题,请参考以下文章
如何通过使用 grep 扫描整个目录来在文件内容中查找具有特定字符串的文件 [重复]
使用 grep/find 从整个目录和子目录文件中查找字符串 [关闭]