Пример: у нас есть папка, заполненная 30 изображениями с непоследовательными именами. Эти изображения должны называться последовательно и численно: image1.jpg image2.jpg image3.jpg ... image30.jpg Может ли это быть автоматизировано?
3 ответа
Hazel следит за папками на предмет изменений и может переименовывать вновь добавленные файлы. Рекламный ролик с полнофункциональной демоверсией.
Хейзел просматривает любые папки, которые вы им сообщаете, автоматически упорядочивая ваши файлы в соответствии с созданными вами правилами. Он имеет интерфейс правил, аналогичный интерфейсу Apple Mail, поэтому вы должны чувствовать себя как дома. Попросите Hazel перемещать файлы в зависимости от имени, даты, типа, с какого сайта / адреса электронной почты он пришел (только для Safari и Mail) и многого другого.
Name Mangler - это утилита переименования файлов. Просто перетащите файлы в окно программы и установите правила. Предварительный просмотр показывает, как файлы будут названы впоследствии. Рекламный ролик с полнофункциональной демоверсией.
Finder хорош во многих вещах, но переименование многих файлов не входит в их число. Введите Name Mangler, который упрощает выполнение всех ваших задач по переименованию файлов.
Ваш Mac поставляется с Automator, инструментом, позволяющим создавать так называемые рабочие процессы.
С Automator вы можете автоматизировать большую часть того, что вы делаете с вашим компьютером. Создайте и распечатайте семейный каталог с контактами в вашей адресной книге. Найдите и добавьте изображения с ваших любимых сайтов в iPhoto. Распечатайте свои документы на iPad. Мгновенно переименовывайте десятки файлов в Finder.
Запустите его и выберите, чтобы создать новый рабочий процесс. Из библиотеки добавьте действие Get Specified Finder Items и действие Rename Finder Items (не создавайте копии файлов при запросе об этом). Перетащите файлы на первое действие, чтобы добавить их в рабочий процесс. Сконфигурируйте второй, как показано, чтобы сделать последовательным с новым именем и отделенным ничем. Запустите, нажав кнопку "Play" на панели инструментов.
Для этого из командной строки в bash
введите родительский каталог и выполните следующую команду:
declare -i C=1 ; for file in *.jpg ; do mv "$file" "image$C.jpg" ; C=C+1 ; done
Вы можете использовать команду оболочки следующим образом:
i=1;for f in *;do echo mv "$f" image$((i++)).jpg;done
Уберите echo
если вывод выглядит правильно.
Другой вариант - запустить brew install rename
а затем запустить rename -n '$_=$N.".jpg"' *
. Удалите -n
если вывод выглядит правильно. $N
- номер файла, начинающийся с 1, $_
- текущая строка, и .
используется для конкатенации строк в Perl.
Больше примеров:
i=1;for f in *;do mv "$f" $(printf %03d $i).jpg;let i++;done
i=1;for f in *;do mv "$f" $(printf %03d $i).${f##*.};let i++;done
IFS=$'\n';i=1;for f in $(ls -rt);do mv "$f" "$((i++)) $f";done
for f in *.mp3;do mv "$f" "$(printf %02d ${f%% *}) ${f#* }";done
for f in *;do b=${f%.*};x=${f#*.};mv $f ${b%-*}-$(printf %03d ${b#*-}).$x;done
shopt -s extglob;for f in !(*.*);do mv $f $f.txt;done
for f in *;do mv "$f" "${f//[^a-zA-Z0-9.]}";done
rename 's/.*ep(..).*/Example EP$1 720p HDTV x264.srt/' *.srt
${f##*.}
удаляет самый длинный *.
шаблон с начала, а ${f%.*}
удаляет самый короткий шаблон .*
с конца. ${f//[^a-zA-Z0-9.]}
удаляет все символы, кроме [a-zA-Z0-9.]
.
Ответ Driveby, в случае, если кто-то попадет на эту страницу в будущем: Yosemite (OSX 10.10) добавил пакетное переименование в Finder, так что теперь все, что нужно сделать для выполнения таких операций, как OP, это выбрать все файлы, которые нужно переименовать, верно /control-click на них, и выберите Rename X items...