Обратные пометки не отображаются в вашем комментарии - вы, вероятно, должны добавить это как ответ или отредактировать свой вопрос, чтобы включить свое решение.
Пол Р
1
Лучшее быстрое решение, которое я когда-либо нашел, использовало встроенный Automator. Проверьте эту статью для легкой пошаговой помощи: tuaw.com/2008/11/11/…
nilay
Я бы проголосовал за ответ Нилай, если бы он не был комментарием ...
но это также позволяет замену регулярных выражений? Похоже, это просто какая-то улучшенная оболочка оболочки.
математика
4
@brubelsabs: Да, zmv может заменить регулярное выражение . Для файлов, которые соответствуют *user*.html, измените расширение на .htmlи измените все вхождения rcна final: zmv '(*user*).htm' '${1//rc/final}.html' @ghoppe: я думаю, что пример zmv в вашем ответе нуждается в -wкруглых скобках или вокруг его подстановочного знака.
Крис Джонсен
Мне действительно нравится это предложение, потому что вам не нужно устанавливать на Mac ничего лишнего (например, brew), но оно позволяет вам использовать простой синтаксис mmv.
сено
+1 Хорошо. Пара отличий от регулярных выражений, к которым я привык: 1) использовать *вместо того, .*чтобы получить все. *?кажется, работает как не жадный .*?. 2) для меня, ^а также $для начала и конца строки, казалось, что она ничего не соответствует
user56reinstatemonica8
21
Неуклюжий я
for i in *.yourfiles; do mv "$i" "`echo $i | sed 's/old/new/g'`"; done
И если вы хотите использовать его, как я часто делаю так:
rename 's/old/new/' *.files
Я рекомендую использовать этот скрипт в ~ / bin / rename:
#!/usr/bin/env zsh
SUBSEXPR=$1
shift
for i in $@; do mv $i `echo "$i" | sed $SUBSEXPR`; done
ваш скрипт не работает для меня "переименовать ACDC AC-DC ACDC *" result-> "ssed: не могу прочитать ACDC: нет такого файла или каталога", я установил утилиту переименования из linux, и теперь она работает в любой момент
holms
5
Вы можете попробовать установить MacPorts и установить renameutilsпакет:
renameutils @ 0.10.0 (sysutils)
renameutils - это набор программ, предназначенных для более быстрого и менее громоздкого переименования файлов.
я не сказал, что это так. qmvПохоже, это делает работу.
Лаюетт
qmvэто отличный инструмент, хотя для простых переименований regex слишком много работы, он
отлично подходит
4
Существуют различные версии переименования . Похоже, вы ищете основанный на Perl.
Одна версия этой утилиты поставляется с модулем File :: Rename Perl. Вы можете установить его с чем-то вроде sudo cpan -i File::Rename.
Или вы можете использовать переименование из пакета perl Debian . Это всего лишь один файл для скачивания. Поместите его в любое удобное для вас место и выполните chmod, чтобы он был исполняемым.
Альтернативой является инструмент zmv , который поставляется вместе с zsh . У него нет того же синтаксиса, но он поставляется с вашей ОС, и он может легко позаботиться о многих распространенных случаях.
На Mac я использую свободно доступный Аристотель Пагальцис rename, который, как и Debian, основан на Perl. Вы можете получить это здесь . Или посетите здесь, чтобы сначала прочитать его - всегда хорошая идея.
Вам нужно поместить это где-нибудь в свой файл $PATHи сделать его исполняемым ( chmod +x rename), и тогда все готово.
Если вы ищете графический интерфейс, попробуйте Name Mangler . Он имеет функцию «предварительного просмотра», которая показывает, что произойдет, если вы выполните переименование.
rename
на Mac OS X: macosxhints.com/article.php?story=20050630022203488Ответы:
С Homebrew , менеджером пакетов для OS X:
Затем вы можете запускать те же
rename
команды, что и в Linux.источник
rename-5.22
(где 22 - установленная версия) вместоrename
sudo mv /opt/local/bin/rename-XXX /opt/local/bin/rename
Используйте силу ZSH с умом (введите
zsh
в терминале, если вы одна из тех бедных душ, которые не используют его по умолчанию):ZMV следует синтаксису MMV .
источник
*user*.html
, измените расширение на.html
и измените все вхожденияrc
наfinal
:zmv '(*user*).htm' '${1//rc/final}.html'
@ghoppe: я думаю, что пример zmv в вашем ответе нуждается в-w
круглых скобках или вокруг его подстановочного знака.*
вместо того,.*
чтобы получить все.*?
кажется, работает как не жадный.*?
. 2) для меня,^
а также$
для начала и конца строки, казалось, что она ничего не соответствуетНеуклюжий я
И если вы хотите использовать его, как я часто делаю так:
Я рекомендую использовать этот скрипт в ~ / bin / rename:
источник
Вы можете попробовать установить MacPorts и установить
renameutils
пакет:источник
qmv
Похоже, это делает работу.qmv
это отличный инструмент, хотя для простых переименований regex слишком много работы, онСуществуют различные версии переименования . Похоже, вы ищете основанный на Perl.
Одна версия этой утилиты поставляется с модулем File :: Rename Perl. Вы можете установить его с чем-то вроде
sudo cpan -i File::Rename
.Или вы можете использовать переименование из пакета perl Debian . Это всего лишь один файл для скачивания. Поместите его в любое удобное для вас место и выполните chmod, чтобы он был исполняемым.
Альтернативой является инструмент zmv , который поставляется вместе с zsh . У него нет того же синтаксиса, но он поставляется с вашей ОС, и он может легко позаботиться о многих распространенных случаях.
источник
На Mac я использую свободно доступный Аристотель Пагальцис
rename
, который, как и Debian, основан на Perl. Вы можете получить это здесь . Или посетите здесь, чтобы сначала прочитать его - всегда хорошая идея.Вам нужно поместить это где-нибудь в свой файл
$PATH
и сделать его исполняемым (chmod +x rename
), и тогда все готово.источник
Это не должно быть сложно, но, очевидно, это так. Например, я хочу переименовать расширение всех файлов из aiff в aifc.
источник
Если вы ищете графический интерфейс, попробуйте Name Mangler . Он имеет функцию «предварительного просмотра», которая показывает, что произойдет, если вы выполните переименование.
источник
Эквивалентная команда в Renamer (кроссплатформенная)
источник
Если вам нравится множественный выбор Sublime Text, вы можете использовать его с qmv:
источник
Я просто пошел дальше и обнаружил, что мой любимый объект, который я видел, называется perl-rename, давая
rename
команду, где помощь выглядит так:Usage: rename [-v] [-n] [-f] perlexpr [filenames]
Вот откуда я знаю, что получил тот, который мне нравится.
Для Mac, даже в Homebrew у них есть другие, где я просто смутно припоминаю проблемы. Так что это не
rename
пакет, и это неrenameutils
пакет nongnu .Получил это отсюда и только что сделал установку, как они упоминают: https://github.com/subogero/rename
источник