我有一个bash脚本,我在使用grep来查找文件中的文本(存储在变量中).
found=$(grep "^$line$" "$file")
Run Code Online (Sandbox Code Playgroud)
现在我的问题是,我需要grep才能使用正则表达式.但是,line有时包含带有正则表达式关键字的文本,例如[导致失败的文本grep: Unmatched [.
是否有可能让grep不解释$line正则表达式的内容?
您可以使用-F标志grep来将模式解释为固定字符串而不是正则表达式.
此外,如果您希望图案匹配整条线(如^$line$图案所暗示的那样),则可以与-x标志结合使用.
所以你帖子中的命令可以写成:
found=$(grep -Fx "$line" "$file")
Run Code Online (Sandbox Code Playgroud)