find+grep 失败

find+grep 失败

我想使用命令在所有 .h 文件中搜索字符串“SEARCH”:

find . -name "*.h" -exec -Hw "SEARCH" { } \; 

但它抛出的错误为:

find: â-Hwâ: No such file or directory, in linux

让我知道如何解决它。

答案1

您可以grepfind结果上使用:

find . -name "*.h" -exec grep "SEARCH" {} \; 

答案2

您忘记了“grep”命令。改为这样做:

find . -type f -name "*.h" -exec grep -F -Hw "SEARCH" {} +

请注意我更改的内容:

  • 添加-type f
  • 添加了grep -F命令
  • 改成{ }{}不然不行
  • 在语句末尾更改;为(加号) ,以便对一堆文件只执行一个(加快速度,更加资源友好)+-execgrep

相关内容