Пример: у нас есть папка, заполненная 30 изображениями с непоследовательными именами. Эти изображения должны называться последовательно и численно: image1.jpg image2.jpg image3.jpg ... image30.jpg Может ли это быть автоматизировано?

3 ответа3

4

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
2

Вы можете использовать команду оболочки следующим образом:

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.] .

1

Ответ Driveby, в случае, если кто-то попадет на эту страницу в будущем: Yosemite (OSX 10.10) добавил пакетное переименование в Finder, так что теперь все, что нужно сделать для выполнения таких операций, как OP, это выбрать все файлы, которые нужно переименовать, верно /control-click на них, и выберите Rename X items...

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .