我想要查找名为 的目录中的所有 PHP 脚本web
。具体来说,我对index.php
这些目录中的任何文件都感兴趣。
我知道我可以用来sudo find / -type d -name "web"
列出所有目录,然后我可以sudo find <directory path> -type f -name "*.php"
对每个输出路径使用它来查看它是否包含 PHP 脚本。
但是有没有办法用一行和两个嵌套的 find 命令来做到这一点:一个 find 命令用于获取web
目录的路径,第二个 find 命令依次使用每个目录作为根目录来查找名称与模式匹配的文件*.php
?
答案1
find
如果您使用该-path
选项而不是,则无需调用两次-name
:
find / -type f -path "*/web/*.php"
index.php
具体来说,对于位于名为的目录下的每个文件web
:
find / -type f -path "*/web/*index.php"
答案2
此命令应实现以下目标:
find / -type d -name "web" -exec find {}/ -type f -name "*.php" \;
在这棵树上测试:
Documents/askubuntu/web
├── index.php
├── kate
│ ├── jate
│ │ └── jate.php
│ └── kate.php
├── koko
│ └── read.php
└── web2
└── index.php
结果:
./Documents/askubuntu/web/koko/read.php
./Documents/askubuntu/web/kate/kate.php
./Documents/askubuntu/web/kate/jate/jate.php
./Documents/askubuntu/web/index.php
./Documents/askubuntu/web/web2/index.php