协助 grep 文件以查找“!!!”

协助 grep 文件以查找“!!!”

我试图在一个大文件中搜索包含该字符串的行!!!,并将这些行输出到另一个文件。

但是,shell 将其解释!!!为 shebang,并将我之前的命令插入为搜索条件(!末尾有一个额外的命令)

我使用的命令是:

cat file_to_search.txt | grep "!!!" > output.txt

注意:使用RHEL7.7if 会产生影响

答案1

由于感叹号是特殊字符(否定),因此您需要使用“\”对其进行转义,以便 shell 在 grepping 时按字面意思使用该字符。以下内容按要求匹配连续三个感叹号(!!!):

cat file_to_search.txt | grep "\!\!\!" > output.txt

或者你可以使用附加量词,如下所示:

cat file_to_search.txt | grep "\!\{3\}" > output.txt

这里有一个正则表达式搜索的来源,以及特殊字符源

相关内容