Я хочу найти все Сценарии PHP, которые являются в названном каталоге web
. В частности, я интересуюсь любыми названными файлами index.php
в любом из этих каталогов.
Я знаю, что могу использовать sudo find / -type d -name "web"
для списка всех каталогов, и затем я могу использовать sudo find <directory path> -type f -name "*.php"
для каждого из выходных путей, чтобы видеть, содержит ли это Сценарий PHP.
Но есть ли способ сделать, это в одной строке и двух вложенных находит команды: каждый находит, что команда раньше получала пути к web
каталоги и второе для использования каждого из тех каталогов в свою очередь как корень для нахождения файла, имя которого соответствует шаблону *.php
?
Вы не должны звонить find
дважды, если Вы используете -path
опция вместо -name
:
find / -type f -path "*/web/*.php"
Специально для каждого файла index.php
расположенный в соответствии с каталогом назван web
:
find / -type f -path "*/web/*index.php"
Эта команда должна достигнуть этого:
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