using find but only in subdirectories matching certain pattern
我正在尝试构造我的etags文件。我有一个项目结构,这样给定一个根目录,就有子目录,并且在这些子目录中可以是名为"cpp"的目录。例如:
1 2 3 4 5 6 7 | root - sub1 - cpp - sub2 - sub21 - cpp - csharp |
所以对于常规项目,我通常是这样的:找到。-类型F(-iname'.cpp'-o-iname'.hpp'-o-iname'.c'-o-iname'.h'-o-iname'.c c'-o-iname'.h h')-打印xargs etags-A
这将不再有效,因为它还将收集可能是CSharp、Objective C等的文件。
所以我要做的是只让find返回名为cpp的子目录中的文件。我怎么能找到这样做的?
谢谢。。。
或者更简单(假设cpp目录中没有其他子目录:
1 | find . -type f -path"*/cpp/*" |
这将从返回整个相对路径。但可能需要进一步修整:/
嵌套的
1 | find . -type d -name"cpp" -exec find {} -type f \; |