查找具有特定子目录的路径

查找具有特定子目录的路径

考虑目录结构中的路径

/A/B/C/D
/A/B/C/E
/A/B/O/P

现在如果我想列出所有包含子目录C的路径,那么可以通过grep来完成吗?预期输出:

/A/B/C/D
/A/B/C/E

我尝试使用 grep 和 find 但无法实现此目的。

答案1

虽然 ka3ak 的答案有效,但 find 带有参数“-path”,因此您可以简单地使用

find . -type d -path "*/c/*"

-path 似乎也快一点:

[hexathos:~/test] $ time find . -regextype posix-extended -regex ".*/c/.*"
./a/b/c/d
./a/b/c/e

real    0m0,013s
user    0m0,010s
sys 0m0,000s
[hexathos:~/test] $ time find . -type d -path "*/c/*"
./a/b/c/d
./a/b/c/e

real    0m0,012s
user    0m0,007s
sys 0m0,003s

答案2

你只需要find这个:

find A -type d -regextype posix-extended -regex ".*/C/.*"

对于以下目录结构

A                                                                                                                                                                                                                  
└── B                                                                                                                                                                                                              
    ├── C                                                                                                                                                                                                          
    │   ├── D                                                                                                                                                                                                      
    │   └── E                                                                                                                                                                                                      
    ├── C1                                                                                                                                                                                                         
    │   └── E                                                                                                                                                                                                      
    └── O
        └── P

它会返回:

A/B/C/E
A/B/C/D

相关内容