Найдите файл с именем или типом в каталогах с именем

Я хочу найти все Сценарии PHP, которые являются в названном каталоге web. В частности, я интересуюсь любыми названными файлами index.php в любом из этих каталогов.

Я знаю, что могу использовать sudo find / -type d -name "web" для списка всех каталогов, и затем я могу использовать sudo find <directory path> -type f -name "*.php" для каждого из выходных путей, чтобы видеть, содержит ли это Сценарий PHP.

Но есть ли способ сделать, это в одной строке и двух вложенных находит команды: каждый находит, что команда раньше получала пути к web каталоги и второе для использования каждого из тех каталогов в свою очередь как корень для нахождения файла, имя которого соответствует шаблону *.php?

2
задан 3 November 2017 в 14:02

2 ответа

Вы не должны звонить find дважды, если Вы используете -path опция вместо -name:

find / -type f -path "*/web/*.php"

Специально для каждого файла index.php расположенный в соответствии с каталогом назван web:

find / -type f -path "*/web/*index.php"
3
ответ дан 2 December 2019 в 02:45

Эта команда должна достигнуть этого:

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
0
ответ дан 2 December 2019 в 02:45

Другие вопросы по тегам:

Похожие вопросы: