grep 固定字符串不是 grepping 确切的字符串,带有额外字符 '-' 的字符串结尾也即将到来

Posted

技术标签:

【中文标题】grep 固定字符串不是 grepping 确切的字符串,带有额外字符 \'-\' 的字符串结尾也即将到来【英文标题】:Grep fixed string is not grepping exact string, string end with extra character '-' is also cominggrep 固定字符串不是 grepping 确切的字符串,带有额外字符 '-' 的字符串结尾也即将到来 【发布时间】:2017-06-01 19:25:47 【问题描述】:

grep 中有一个选项可以搜索确切的字符串“-F”

-F, --固定字符串

如果有两个单词,其中一个是要搜索的单词,另一个附加字母数字字符,则它的工作非常好。 但是,如果另一个单词包含一些特殊字符,例如“-”,那么 grep -F 或 grep -w 与正确的结果不匹配。

grep -w "hello" test1
hello
hello-

cat test1 
hello
hello-
hellotest

理想情况下,结果应该只有第一行。

【问题讨论】:

如果该行包含hello sometext hello 怎么办? 【参考方案1】:

- 不是单词字符,因此 -w 仍将匹配 hello 作为完整单词。

您可以使用-x 选项进行精确匹配:

grep -Fx 'hello' test1

hello

【讨论】:

以上是关于grep 固定字符串不是 grepping 确切的字符串,带有额外字符 '-' 的字符串结尾也即将到来的主要内容,如果未能解决你的问题,请参考以下文章

grep家族

用通配符grep

grep与正则表达式使用

info grep半翻译加整理

Ubuntu小技巧13--grep命令详解

shell 文本处理之 grep