从终端在所有 makefile linux 中搜索一个词

Search a word into all makefiles linux from terminal

我正在使用 Ubuntu。我必须在多个 makefile 中搜索 "send" 这个词。 假设所有的 makefile 都进入 /home/mypath。我试过这个命令但不起作用。请你帮助我好吗?提前致谢。

find /home/mypath/ -name Makefile &&  grep -r "send"

如果你的基本路径相同,你只能使用grep

grep -rn --color "send" /home/mypath/Makefile

find 命令有一个选项可以将找到的文件名传输到一个 exec 命令,这里是 grep。重要的是您输入 {},它将被替换为 find 找到的文件名。您还需要 \; 作为为 find.

的“-exec”选项给出的命令的结束标记
 find /home/mypath -name Makefile -exec grep "what you search" {} \;

您可以使用以下命令在所有 Makefiles 中查找 send 关键字 递归地。

find /home/mypath -name "Makefile" | xargs grep -r "send"

此处find命令列出指定目录下所有名称为Makefile的文件。 xargs 命令会将所有列出的文件依次传递给 grep 命令以搜索字符串 send