有没有一种方法可以使用bash脚本(也使用grepawksed,...)搜索继承给定基类的类(或结构)?

我打了个如下电话:
./get_classes.sh 'CBaseClass' src/
编辑1:

我已经尝试过的
grep -r ':.*CBaseClass' src/
此解决方案有效,但仅当:CBaseClass之间没有换行符时才可用。
这里的另一个问题是,当您在同一个标​​头中都有两个都继承CBaseClass的类时,grep将默认设置为贪婪匹配(从拳头:到第二个CBaseClass)。

最佳答案

您想要这样的东西:

find src/ \( -name \*.h -o -name \*.cpp -o -name \*.cxx \) -exec egrep '(class|struct).*:.*public.*CBaseClass'{} \; -print

在调用get_classes.sh 'CBaseClass' src/时执行

09-04 21:07