Пакетная замена содержимого в файлах. Измение сигнатуры DivX на Xvid.

Не часто возникает нужда в замене какого-то одинакового блока сразу в нескольких файлах.  Пожалуй, первая мысль: нужен скрипт. Однако существует довольно удобная и функциональная консольная утилита для этой цели — rpl.В моей ситуации я столкнулся с необходимостью изменения сигнатуры DivX на Xvid из-за особенностей моего плеера.

На случай, если кто-то не знает, xvid и divx используют одинаковый алгоритм и в подавляющем большинстве случаев вместо пережатия достаточно просто заменить сигнатуру DX50 на XVID. В то же самое время, есть аппаратные плееры, которые поддерживают только XVID или DivX. Обычно это связано с правовыми аспектами, поэтому при изменении сигнатуры в файле, впоследствии он без проблем воспринимался плеером.

Так, я без проблем открывал нужные avi файлы в шестнадцатеричном редакторе bless и изменял эту сигнатуру вручную.

Снимок экрана - 10.02.2013 - 13:18:05

Однако, столкнувшись с ситуацией, когда таких файлов было немало, начал искать решение для автоматизации.

Для моих целей отлично подошла утилита rpl. Достаточно было выполнить в каталоге с файлами команду

rpl ‘DX50’ ‘XVID’ *

и  получить результат:

malky@malky-desktop:/media/storage/КВН/Триод и Диод$ rpl ‘DX50’ ‘XVID’ *
Replacing «DX50» with «XVID» (case sensitive) (partial words matched)
…………………………………….
A Total of 21 matches replaced in 43 files searched.

Вот и все.  Советую, правда, перед применением, запускать тестовый прогон с параметром -s:

rpl -s ‘DX50’ ‘XVID’ *

Все возможные параметры утилиты, как всегда, нам покажет man rpl  ну а если утилита у вас не была установлена в системе, то предварительно нужно её установить командой

sudo apt-get install rpl

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *