1.8 KiB
Raw Blame History

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