Grep fixed string 不是 grepping exact string, string end with extra character '-' is also coming

Grep fixed string is not grepping exact string, string end with extra character '-' is also coming

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

-F, --fixed-strings

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

grep -w "hello" test1
hello
hello-

cat test1 
hello
hello-
hellotest

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

- 不是单词字符,因此 -w 仍然会匹配 hello 作为一个完整的单词。

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

grep -Fx 'hello' test1

hello