.deb пакет
Mmv доступна в Debian начиная с версии 3.1 ('Sarge') и в Ubuntu начиная с версии 'Warty'.
~# apt-get install mmv #установить mmv
Хотя mmv выполняет больше функций, чем просто переименовывание файлов, в этой статье внимание будет сосредоточено только на переименовывании, что чаще всего используется мной. Объясню на примере.
Предположим в директории вы имеете следующие файлы:
foo1.png
foo2.png
bar3.png
Вы хотите, чтобы все файлы, начинающиеся с 'foo' имели начало 'bar'. В этом случае Вы могли бы просто переименовать файлы вручную, но представьте себе, что таких файлов тысяча! Вы скорее всего будете вынуждены запустить шел-сценарий. Mmv наилучшим образом подходит для этой работы:
~$ mmv "foo*.png" "bar#1.png"Получим такие результаты:
bar1.png
bar2.png
bar3.png
Кухня
Шаблон 'Откуда'
Mmv сопоставляет файлы используя выбранный Вами символ (шаблон 'Откуда'). Файлы переименовываются в соответствии со вторым аргументом (шаблоном 'Куда'). В шаблоне 'Откуда' могут встречаться любые символы, используемые в коммандной строке, такие как '*', '?' и '[]'. Запомните, что шаблоны нужно заключать в ковычки, иначе они будут расширены шелом и mmv их не поймет!
Шаблон 'Куда'
'#1' в шаблоне 'Куда' является индексом символа. Он сопоставляется с первым символом найденном в шаблоне 'Откуда'. '#2' будет соосветственно сопоставляться со вторым символом, и так далее. Mmv заменяет любые экземпляры индексов символов текстов, подобным в шаблоне 'Откуда'. В примере выше, '#1' подгоняет числа после 'foo' и следующие за ним. '??'
Еще примеры
Шаблоны 'Откуда' и 'Куда' могут также использоваться для изменения символов вокруг в именах файлов:
abc_123.txt
def_456.txt
ghi_789.txt
~$ mmv "*_*.txt" "#2_#1.txt"
Получим:
123_abc.txtДругой трюк может изменять регистр(верхний/нижний) согласованный символом. Чтобы это проделать нужно поместить 'l' или 'u' между '#' и номер в шаблоне 'Куда':
456_def.txt
789_ghi.txt
john.txt
pete.txt
~$ mmv "?*.txt" "#u1#2.txt"
Получим:
John.txt
Pete.txt
Заметки
Переименовывание директорий может быть выполнено только с параметром -r.
Не забывайте заключать в ковычки параметры 'Куда' и 'Откуда'!
Article submitted by Ferry Boender.
Перевод: va1e.
6 комментариев:
А не тоже ли это самое, что при использовании find? А так интересно. Надо будет посмотреть...
нет, это разные вещи
а чем плох rename, что с перлом идет?
Ничем не плох, пользуйте то, что Вам нравиться, вий. Просто показал еще один способ проделать ту же работу в Debian. Кстати, mmv безопаснее работает с файлами: никогда не затирает их.
Отличная вещь, но есть один минус - не может работать с файлами, где в названии есть [квардратные скобки], т.к. они являются чем-то типа звёздочек и знаков вопроса.
@Некто
не пользую mmv, попробуйте экранировать символы
Отправить комментарий