Я хочу найти все файлы во всех подкаталогах с именем ExampleDir
например.
+ ParentDirA
+ ChildDirA
- file1.txt
+ ExampleDir
- file2.txt
+ ParentDirB
+ ChildDirB
- file3.csv
+ ExampleDir
- file4.csv
Выполнение команды должно возвращать: file2.txt и file4.csv
Я пробовал следующее:
find . -type d -name "ExampleDir" | xargs find -type f
find . -type d -name "ExampleDir" -exec find -type f {} \;
find . -type d -name "ExampleDir" -exec find -type f {} +
Все они возвращаются:
find: paths must precede expression
Если бы я пошел по этому пути (что, на мой взгляд, логично), я пришлось бы выяснить, как передать путь команде find.
Есть ли способ лучше?
Я нашел свой ответ на :Сделать xargs первым параметром
find. -type d -name "ExampleDir" | xargs -I {} find {} -type f
Подумайте об упрощении с помощью расширения GNU find-path
:
find. -type f -path "*/ExampleDir/*"