1.8 KiB
1.8 KiB
find
Рекурсивно искать файлы или каталоги в дереве каталогов. Смотрите также:
fd. Больше информации: https://manned.org/find.
- Найти файлы по расширению:
find {{путь/к/каталогу}} -name '{{*.ext}}'
- Найти файлы, соответствующие нескольким шаблонам пути/имени:
find {{путь/к/каталогу}} -path '{{*/путь/*/*.ext}}' -or -name '{{*шаблон*}}'
- Найти каталоги по имени без учёта регистра:
find {{путь/к/каталогу}} -type d -iname '{{*lib*}}'
- Найти файлы по шаблону, исключив определённые пути:
find {{путь/к/каталогу}} -name '{{*.py}}' -not -path '{{*/site-packages/*}}'
- Найти файлы в заданном диапазоне размеров, ограничив глубину рекурсии до "1":
find {{путь/к/каталогу}} -maxdepth 1 -size {{+500k}} -size {{-10M}}
- Выполнить команду для каждого файла (используйте
{}для подстановки имени файла):
find {{путь/к/каталогу}} -name '{{*.ext}}' -exec {{wc -l}} {} \;
- Найти все файлы, изменённые сегодня, и передать результаты одной команде как аргументы:
find {{путь/к/каталогу}} -daystart -mtime {{-1}} -exec {{tar -cvf archive.tar}} {} \+
- Найти пустые файлы или каталоги и удалить их с подробным выводом:
find {{путь/к/каталогу}} -type {{f|d}} -empty -delete -print