如何让grep将任何角色视为常规角色

时间:2015-08-04 07:48:17

标签: linux string bash sed grep

我在脚本中尝试grep一些字符串。 我不知道我找到了什么字符串或者我正在尝试找到它的文件。我只需要从文件中获取grep 完全字符串。

所以,我的问题是,有时greping字符串包含方括号,而且我发现,grep认为它们是特殊字符。

string='some [text]'
grep "$string" file

我可以用sed

逃脱它们
string='some [text]'
grep "$(sed -e 's/\[/\\[/g' <<< "$string")" file

无论输入是什么,我都需要grep来匹配精确的字符串。那么有更好的方法吗?某种方式告诉grep将字符串中的每个字符都视为常规字符?如果不是,是否还有其他特殊字符,如[我需要担心?

1 个答案:

答案 0 :(得分:5)

您可以使用-F选项将其解释为固定字符串:

grep -F "$string" file