Утилита detox: чистота имени

Алексей Федорчук

В развитие темы О «горячих шпорах», начатой на родственном ресурсе. Здесь тоже затевалась когда-то аналогичная, но как-то заглохла. А сейчас нам с Мануалом подумалось, что уместно и тут размещать такие вот «горячие шпоры» о том, для чего мы ещё не решили — прикручивать это к Cintu, или нет.

Так случилось, что, просматривая Tip’ы и Trick’s’ы из очередного Distrowatch’ева еженедельника, наткнулись мы на упоминание утилиты detox, призванной блюсти чистоту имени файла. То есть — не допускать в нём символов с неправильной кодировкой, пробелов и прочего безобразия: каждый, кто провидит немало времени в CLI, тем более в «голой» консоли, знает, как это по мелочи осложняет жизнь.

Поскольку мы с Мануалам как раз и принадлежим к очерченному кругу, утилит эта показалась нам небесполезной. Но, увы, отсутствующей в штатном комплекте. Что, конечно же, было мгновенно исправлено:

$ sudo apt install detox

После чего тут же применили её к делу. Все, кто имел дело с GNOME Screenshot’ом, знают: штука эта очень удобная для массового скриншотерия на скорую руку. Но есть у неё недостаток — в результате ~/Pictures быстро заполняется файлами вида Снимок экрана от 2018-04-17 16-26-17.png. С которыми в CLI работать — ну мука мучениская. Целевой каталог, конечно, можно переопределить (правда, только через Dconf Editor). А вот с форматом имени файла ничего не сделать. Можно, конечно, эти файлы массово переименовывать утилитами типа Gprename или Gwenrename, но их функционал иногда кажется избыточным.

А тут всё просто. Заходим в каталог, куда сваливаются все скриншоты (у нас с Мануалом это /home/data/screen), и для переименования единичного файла даём команду:

$ detox 'Снимок экрана от 2018-03-30 12-03-00.png' 

Не забыв про строгие кавычки — автор описания (Jesse Smith) про них не упоминает. Но без них, увы, ничего не получится. С ними же мы получаем файл с именем вида 2018-03-30_12-03-00.png. То есть без малейшей кириллицы, без единого пробела, но более чем достаточно для однозначной идентификации.

Если же требуется переименовать несколько (а то и много-много) скриншотов, то всё ещё проще:

$ detox Снимок*

Результат легко представит читатель, наделённый солдатской смекалкой:

$ ls           
2018-03-30_12-04-11.png  2018-04-03_11-25-05.png
2018-03-30_12-03-00.png  2018-03-30_16-30-12.png  2018-04-16_14-08-47.png
2018-03-30_12-03-48.png  2018-04-02_10-09-16.png16-26-17.png

С помощью команды detox, посредством её опций, можно добиться и более иных результатов. Но для этого не худо заглянуть в man detox, а нам с Манулом это было лениво (да пока и необходимости не было).

В заключение добавим: ребята, читайте архивы DistroWatch Tips and Tricks. В большинстве своём там, конечно, вещи или тривиальные, или (для нас с котом Мануалом) не нужные. Но иногда архивы эти сеют разумное, доброе, вечное…

6 комментариев к “Утилита detox: чистота имени

  1. Алексей, вечер добрый. Ни один из элементов html-разметки в данной статье не сработал. Об этом мне сказали, последовательно, PaleMoon, Firefox, Chrome, Opera. Либо движок сайта отключил html, либо Вы стали использовать в написании статей что-то новое, что не даёт желаемого результата.

  2. Да, мал-мал ошибка давал, вместо ура караул кричал. Спасибо!

  3. Алексей, эта утилитка при использовании файлов с кириллическими именами удаляет их напрочь. Хорошо, что тестировала её функционал на не очень нужных файлах. Удаление происходит мимо корзины. Спасибо за информацию.

  4. Таня, у меня она (как и сказано в документации) удаляла кириллицу из имён файлов, а не сами файлы. А пробелы превращала в символы подчёркивания. Что мне собственно и требовалось.
    Так что взял на вооружение и активно (то есть каждый день и не единожды) пользуюсь вот уже неделю — с прошлого DistroWatch Tips and Tricks, когда впервые о ней услышал. Пока вреда ни малейшего :)

  5. Алексей, в файлах, где имелись цифры и кириллица, оставались только цифры, а с полностью кириллическим именем исчезали. Это так, проверка работы Detox на всякий случай ;)
    Понравилось при открытии терминала в любом каталоге и вводе команды detox наблюдать файлы с «неправильными» именами, помеченные «строгими» кавычками. Сразу видно, где что не так!

  6. Таня, спасибо за важное уточнение. Я такой проверки не делал, потому что чисто кириллических имён файлов у меня не бывает никогда. А если вдруг оказываются — значит, создались по ошибке, и туда им и дорого — минуя корзину :)
    Но буду помнить — если кто пришлёт вложение с чисто кириллическим именем :)

Оставьте комментарий