搜索继承另一个类的c ++类

时间:2013-08-30 11:11:28

标签: c++ linux bash search

是否有办法使用bash脚本(使用grepawksed,...等)搜索继承给定基类的类(或结构)?

我有一个跟注的电话:

./get_classes.sh 'CBaseClass' src/

修改1:

我已经尝试过了:

grep -r ':.*CBaseClass' src/

此解决方案有效,但仅当:CBaseClass之间没有换行符时才有效。 这里的另一个问题是,当你在同一个头文件中有两个类都继承了CBaseClass时,grep将默认为一个贪婪的匹配(从:到第二CBaseClass}。

1 个答案:

答案 0 :(得分:0)

你想要这样的东西:

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

在您致电get_classes.sh 'CBaseClass' src/

时执行