Я использовал для переименования файла в Linux с помощью команды переименования:
rename 's/old_pattern/new_pattern/g' *glob
Есть ли что-то похожее в Mac OS X (Snow Leopard)?
Я использовал для переименования файла в Linux с помощью команды переименования:
rename 's/old_pattern/new_pattern/g' *glob
Есть ли что-то похожее в Mac OS X (Snow Leopard)?
Ответы:
С Homebrew , менеджером пакетов для OS X:
brew install rename
Затем вы можете запускать те же rename
команды, что и в Linux.
rename-5.22
(где 22 - установленная версия) вместоrename
sudo mv /opt/local/bin/rename-XXX /opt/local/bin/rename
Используйте силу ZSH с умом (введите zsh
в терминале, если вы одна из тех бедных душ, которые не используют его по умолчанию):
autoload zmv
zmv '(*).htm' '$1.html'
ZMV следует синтаксису MMV .
*user*.html
, измените расширение на .html
и измените все вхождения rc
на final
: zmv '(*user*).htm' '${1//rc/final}.html'
@ghoppe: я думаю, что пример zmv в вашем ответе нуждается в -w
круглых скобках или вокруг его подстановочного знака.
*
вместо того, .*
чтобы получить все. *?
кажется, работает как не жадный .*?
. 2) для меня, ^
а также $
для начала и конца строки, казалось, что она ничего не соответствует
Неуклюжий я
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
Вы можете попробовать установить MacPorts и установить renameutils
пакет:
renameutils @ 0.10.0 (sysutils)
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.
find . -iname "*.aiff" -exec bash -c 'mv "$0" "${0%\.aiff}.aifc"' {} \;
Если вы ищете графический интерфейс, попробуйте Name Mangler . Он имеет функцию «предварительного просмотра», которая показывает, что произойдет, если вы выполните переименование.
Если вам нравится множественный выбор Sublime Text, вы можете использовать его с qmv:
qmv --editor = "/ usr / bin / s3 -w" файлы
Я просто пошел дальше и обнаружил, что мой любимый объект, который я видел, называется perl-rename, давая rename
команду, где помощь выглядит так:
Usage: rename [-v] [-n] [-f] perlexpr [filenames]
Вот откуда я знаю, что получил тот, который мне нравится.
Для Mac, даже в Homebrew у них есть другие, где я просто смутно припоминаю проблемы. Так что это не rename
пакет, и это не renameutils
пакет nongnu .
Получил это отсюда и только что сделал установку, как они упоминают: https://github.com/subogero/rename
rename
на Mac OS X: macosxhints.com/article.php?story=20050630022203488