有没有办法让grep匹配一个精确的 字符串,而不是将其解析为正则表达式?或者是否有一些工具可以正确地为grep转义字符串?
$ version=10.4
$ echo "10.4" | grep $version
10.4
$ echo "1034" | grep $version # shouldn't match
1034
Run Code Online (Sandbox Code Playgroud)
joh*_*ohv 14
使用grep -F或fgrep.
$ echo "1034" | grep -F $version # shouldn't match
$ echo "10.4" | grep -F $version
10.4
Run Code Online (Sandbox Code Playgroud)
见手册页:
Run Code Online (Sandbox Code Playgroud)-F, --fixed-strings Interpret PATTERN as a list of fixed strings, separated by newlines, any of which is to be matched.
我一直在寻找术语"文字匹配"或"固定字符串".
(另请参阅将grep与复杂字符串一起使用以及grep如何解释字面上包含星号的字符串并通过变量提供给grep?)