我正在尝试构建我的etags文件。我有一个项目结构,给定一个根目录有子目录,其中可以是名为'cpp'的目录。例如:
root
- sub1
- cpp
- sub2
- sub21
- cpp
- csharp
因此,对于常规项目,我通常会这样: 找 。 -type f(-iname' .cpp'-o -iname' .hpp'-o -iname' .c'-o -iname' .h'-o -iname' .cc'-o -iname' .hh') - print | xargs etags -a
这将不再起作用,因为它还会拾取可能是csharp,objective c等的文件......
所以我想要完成的只是找到返回名为cpp的子目录中的文件。那我怎么能找到那样做呢?
谢谢...
答案 0 :(得分:4)
嵌套find
可能适合您
find . -type d -name "cpp" -exec find {} -type f \;
答案 1 :(得分:3)
或更简单(假设cpp目录中没有其他子目录:
find . -type f -path "*/cpp/*"
这将返回整个相对路径。但是,这可能需要进一步修剪:/