Поиск сирот

ds-findorphaned

Версия:1.1.0
Интерфейс:CLI
Язык:Perl
Зависимости:Perl, Enca
Автор:Дмитрий Соколов
Лицензия:GNU GPL v3

Скрипт ищет в файлах, находящихся в указанных каталогах и с именами, соответствующими указанному регулярному выражению, упоминания файлов, находящихся в других указанных каталогах и с именами, соответствующими другому указанному регулярному выражению, и выводит список тех файлов, которые не упоминаются ни в одном из тех, по которым ведётся поиск. Опционально их также можно удалить.

Синтаксис

ds-findorphaned [-v] [-r] [-R] [-e кодировка] [-l лог-файл] [-d 'каталог[, каталог…]'] [-f 'маска'] [-D 'каталог[, каталог…]'] [-F 'маска']

Ключи

-v (от verbose) Выводить суммирующую информацию и предлагать удаление осиротевших файлов (по умолчанию — нет, только построчное перечисление).
-e (от encoding) Кодировка читаемых файлов (по умолчанию — * — автоопределение с помощью enca).
-d (от directories) Каталоги, на упоминание файлов в которых идёт проверка (через запятую, по умолчанию — .).
-r (от recursive) Анализировать рекурсивно каталоги, на упоминание файлов в которых идёт проверка (по умолчанию — нет).
-f (от files) Регулярное выражение имён файлов, на упоминание которых идёт проверка (по умолчанию — .*).
-D (от directories) Каталоги, в которых идёт проверка (через запятую, по умолчанию — .).
-R (от recursive) Анализировать рекурсивно каталоги, в которых идёт проверка (по умолчанию — нет).
-F (от files) Регулярное выражение имён файлов, в которых идёт проверка (по умолчанию — .*).
-l (от log) Создаваемый лог-файл (по умолчанию не создаётся, а пишется на stdout).

Пример

$ ds-findorphaned -v -r -R -e "CP1251" -l "~/log.txt" -d "~/maybe_orphaned_images" -f ".*\.jpg$" -D "~/search_here, ~/and_here" -F ".*\.php$"

Результатом примера будет поиск во всех .php-файлах, находящихся в ~/search_here и ~/and_here (рекурсивно) на упоминание .jpg-файлов, находящихся в ~/maybe_orphaned_images (рекурсивно).