Я использовал для переименования файла в 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.
Используйте силу ZSH с умом (наберите zsh
в терминале, если вы одна из тех бедных душ, которые не используют его по умолчанию):
autoload zmv
zmv '(*).htm' '$1.html'
ZMV следует синтаксису MMV.
Неуклюжий я
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
Существуют различные версии переименования. Похоже, вы ищете основанный на Perl.
Одна версия этой утилиты поставляется с модулем Perl File::Rename . Вы можете установить его с помощью команды sudo cpan -i File::Rename
.
Или вы можете использовать переименование из пакета perl Debian. Это всего лишь один файл для скачивания. Поместите его в любое удобное для вас место и выполните chmod, чтобы он был исполняемым.
Альтернативой является инструмент zmv , который поставляется с zsh. У него нет того же синтаксиса, но он поставляется с вашей ОС, и он может легко позаботиться о многих распространенных случаях.
Вы можете попробовать установить MacPorts и установить пакет renameutils
:
renameutils @ 0.10.0 (sysutils)
renameutils - это набор программ, предназначенных для более быстрого и менее громоздкого переименования файлов.
На Mac я использую свободно доступное rename
Аристотеля Пагальциса, которое, как и в Debian, основано на Perl. Вы можете получить это здесь. Или посетите здесь, чтобы сначала прочитать его - всегда хорошая идея.
Вам нужно поместить это где-то в ваш $PATH
и сделать его исполняемым (chmod +x rename
), и тогда вы готовы.
Это не должно быть сложно, но, очевидно, это так. Например, я хочу переименовать расширение всех файлов из aiff в aifc.
find . -iname "*.aiff" -exec bash -c 'mv "$0" "${0%\.aiff}.aifc"' {} \;
Если вы ищете графический интерфейс, попробуйте Name Mangler. Он имеет функцию "предварительного просмотра", которая показывает, что произойдет, если вы выполните переименование.
эквивалентная команда в Renamer (кросс-платформенный)
$ renamer --regex --find 'old_pattern' --replace 'new_pattern' *glob
Если вам нравится множественный выбор Sublime Text, вы можете использовать его с qmv:
qmv --editor = "/usr/bin/s3 -w" файлы