linux - 使用查找但仅在匹配特定模式的子目录中

标签 linux find

我正在尝试构建我的 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 等的文件...

所以我想要完成的是只让 find 返回名为 cpp 的子目录中的文件。那么我怎样才能找到这样做呢?

谢谢...

最佳答案

或者更简单(假设在 cpp 目录中没有更多的子目录:

find . -type f -path "*/cpp/*"

这将返回从 .不过,这可能需要进一步修剪:/

关于linux - 使用查找但仅在匹配特定模式的子目录中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17105150/

相关文章:

file - 如何将find的结果传递给vim的argadd命令

linux - 更改 Linux 中终端输出的语言

linux -/etc/shadow中密码部分的 "!"和 "*"是什么意思?

java - 分布式计算应用

c++ - std::map::find()

c++ - 是否有 STL 算法来查找序列中值的最后一个实例?

python - 将二进制字符串 (ASCII) 转换为二进制文件

linux - 在 Unix 中将 Mono 应用程序的文件放在哪里

regex - 如何将文件 *.R 和 *Rd 与查找实用程序匹配?

linux - bash:展开参数列表并将其传递给查找 - 转义/空格 hell