查找多个文件共有的行

发布于 2024-09-08 13:31:11 字数 292 浏览 13 评论 0原文

我试图确定哪个标头声明了特定的函数。我使用 grep 来查找该函数的使用实例;现在,我想找到所有文件都包含哪个标头。我知道 comm实用程序;但是,它只能比较两个排序文件。是否有一个 Unix 实用程序可以找到任意数量的未排序文件之间的公共行,或者我必须编写自己的实用程序?

I'm trying to determine which header declares a specific function. I've used grep to find instances of the function's use; now, I want to find which header is included by all the files. I'm aware of the comm utility; however, it can only compare two sorted files. Is there a Unix utility that can find the common lines between an arbitrary number of unsorted files, or must I write my own?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

花心好男孩 2024-09-15 13:31:11
 cat *.c | sort | uniq -c | grep -e '^ *COUNT #include'

其中 COUNT 是传递给 cat 的文件数。在尝试过程中,我使用此变体来查看我 #include 至少 10 次的文件:

 cat *.c | sort | uniq -c | grep -e '^ *[0-9][0-9]\+ #include'
 cat *.c | sort | uniq -c | grep -e '^ *COUNT #include'

where COUNT is the number of files passed to cat. In playing around, I used this variant to see what files I #include at least 10 times:

 cat *.c | sort | uniq -c | grep -e '^ *[0-9][0-9]\+ #include'
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文