С помощью команды find можно обрабатывать группы файлов по условиям.
Общий вид команды:
find <путь> <фильтр> <комманда>
find ./ -type d -exec chmod 755 {} \;
Выбирать папки | find -type d |
Выбрать файлы | find -type f |
Фильтр по regex выражению | find -regex .*\.txt$
найдет все файлы с расширением txt |
Именной фильтр | find -name *.txt
метасимволы: *, ?, [] |
Фильтр по владельцу фалов | find -user root |
Фильтр по имени группы | find -group root |
Если есть право чтения | find -readable |
Если есть право записи | find -writable |
Если есть право запуска | find -executable |
Фильтр по размеру | find +size 100M
более 100Мб find -size 10k менее 10кб |
Фильтр по времени | find . -mtime +30
все файлы старше 30 дней |
Удалить | find -delete |
Вывести как ls | find -ls |
Выполнить команду | find -exec command {} \; |
Записать имена файлов в файл | find -fprint file_name |