Ответ 1
Используйте переключатель -path
с find
find . -path \*/foldername/filename.extension
Как вы находите все файлы с определенным родительским каталогом в терминале командной строки linux?
Я знаю, чтобы найти все файлы с помощью find
следующим образом:
find . -name filename.extension
Но можно ли найти все filename.extension
файлы с родительским каталогом foldername
?
Я пробовал следующее, но это не работает:
find . -name foldername/filename.extension
И я не могу найти пример того, как это сделать.
Итак, некоторые примеры результатов, которые я ожидаю, таковы:
./example/project/website/foldername/filename.extension
./folder/demo/foldername/filename.extension
./more/files/foldername/filename.extension
./business/assets/foldername/filename.extension
./steven/foldername/filename.extension
Есть ли способ сделать это?
Используйте переключатель -path
с find
find . -path \*/foldername/filename.extension
Просто попробуйте это
locate "/*/foldername/filename.extension"
если вы обновили индекс с помощью updatedb
Вы можете запустить:
find ./ | grep 'foldername/filename.extension$'
Команда "find" найдет все файлы, а "grep" будет фильтровать их с помощью регулярного выражения.
PS. Также вы можете использовать параметр "-exec" для "find".
examples
.node_modules
. find. -type d -name examples | grep -v node_modules
Просто покажите результаты в родительском каталоге
Find -maxdepth 1 -type f -name 'file.extension'