"grep -rnw":在所有文件中搜索字符串

she*_*wen 13 linux grep full-text-search find

相关问题:如何在Linux上找到包含特定文本的所有文件?

我一直在使用上面问题的答案中提到的命令来搜索所有文件中的字符串出现:

grep -rnw '/path/to/somewhere/' -e "pattern"
Run Code Online (Sandbox Code Playgroud)

但是最近我遇到了一个问题,如下图所示: 在此输入图像描述

看起来这个命令只能识别出作为单词或其他东西突出的字符串.我该如何修改命令以改善搜索结果?

tha*_*guy 21

explainshell有益解释你的命令,从给出的摘录man grep:

   -w, --word-regexp
          Select  only  those  lines  containing matches that form whole words. 
Run Code Online (Sandbox Code Playgroud)

所以只需删除,-w因为明确地做了你不想要的东西:

grep -rn '/path/to/somewhere/' -e "pattern"
Run Code Online (Sandbox Code Playgroud)

  • 请注意,“模式”是正则表达式。 (2认同)