带有特定扩展名的 Minix grep 搜索

Minix grep search with specific extensions

为了学校我必须做一个作业,我需要在 minix 中使用 grep 命令来搜索包含 "int main(" 的文件的源代码树。源代码树存储在 /usr/src 中,我有以下命令:

 grep -rn --include=\*.c /usr/src/  "int main("

问题是我无法获取仅在 .c 文件中搜索的命令。 所以问题是:如何使用 grep 搜索任何包含 "int main(" 的文件,而只搜索 .c 个文件?

非常感谢任何帮助。

我认为以下方法可行:

grep "int main(" $(find /usr/src|grep .c)

这将获取 /usr/src 中的所有文件,并查看哪些文件的文件名中包含字符串“.c”,然后在每个文件中查找一些字符串。带有 $( 的 grep 不会查看这些文件的内部,因为它会查找通过管道接收的标准输入中的任何字符串。

编辑:

这可能行不通,具体取决于您的计算机的功率级别。在我的笔记本电脑上它 returns "zsh: argument list too long: grep"。不过原理应该可以。

编辑编辑:

如果您还想搜索(例如).h 文件,您可以使用以下内容:

grep "int main(" $(find /usr/src|grep .c|grep .h)