Настольная книга по Linux: различия между версиями

Содержимое удалено Содержимое добавлено
Строка 58:
* '''find /usr/bin -type f -mtime -10 -iname '*.log'''' - Найти все файлы в '/usr/bin', созданные или изменённые в течении последних 10 дней, с именем заканчивающимся на ".log" без учета регистра.
* '''find /usr/project \( -name *.htm -o -name '*.html' \) -exec enconv -V --convert-to=UTF-8 {} \;''' - Конвертировать найденные файлы в правильную кодировку.
* '''find -iname '*.mp3' -print0 | xargs -0 mid3iconv -eCP1251 --remove-v1''' - Конвертация тегов в UTF-8 (должен быть установлен python-mutagen)
* '''find /bakdir -name bak-20??-??-??.tar.gz | sort | head -n -7 | egrep -v 20[01][0-9]-[01][0-9]-01 | while read I ; do rm -v "$I" ; done''' - Вымученная изящная конструкция, по очистке бэкап архивов, которая оставляет файлы за последнюю неделю и каждое первое число. find выводит список наших бэкап файлов, формат которых bak-год-месяц-число.tar.gz, sort правильно сортирует, head передает все файлы, кроме последних 7-ми, egrep исключает файлы за первое число, конструкция while удаляет остальное.
* '''ls /bakdir/bak-20??-??-??.tar.gz | head -n -7 | egrep -v 20[01][0-9]-[01][0-9]-01 | while read I ; do rm -v "$I" ; done''' - Еще более изящная и ресурсоемкая конструкция.