Я перейменував файл в 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
це чудовий інструмент, хоча трохи надто багато роботи для простих перейменовань регексу, він фантастичний для розумного називання та переміщення великої кількості довільних файлів
Існують різні версії перейменування . Схоже, ви шукаєте Perl на базі Perl.
Одна версія цієї утиліти постачається з модулем File :: Перейменувати Perl. Ви можете встановити щось подібне sudo cpan -i File::Rename
.
Або ви можете перейти з перейменуванням з пакету Perl Debian . Це просто один файл для завантаження. Помістіть його куди завгодно і chmod, щоб він був виконаним.
Альтернативою є інструмент zmv , який постачається із zsh . У нього немає однакового синтаксису, але він є в комплекті з вашою ОС, і він може легко опікуватися багатьма поширеними випадками.
На Маках я користуюсь у вільному доступі Арістотеля Пагальциса rename
, який, як у Debian, заснований на Perl. Ви можете отримати його тут . Або завітайте сюди, щоб прочитати його спочатку - завжди хороша ідея.
Вам потрібно розмістити це десь у своєму $PATH
і зробити його виконуваним ( chmod +x rename
), і тоді вам добре піти.
Це не повинно бути складним, але, мабуть, так і є. Наприклад, я хочу перейменувати все розширення файлу з aiff на aifc.
find . -iname "*.aiff" -exec bash -c 'mv "$0" "${0%\.aiff}.aifc"' {} \;
Якщо ви шукаєте графічний інтерфейс, спробуйте ім’я Mangler . У ньому є функція "попереднього перегляду", яка показує, що станеться, якщо ви будете виконувати перейменування.
еквівалентна команда в перейменуванні (крос-платформа) є
$ renamer --regex --find 'old_pattern' --replace 'new_pattern' *glob
Якщо вам подобається багатоцільовий вибір Sublime Text, ви можете використовувати його з qmv:
qmv --editor = "/ usr / bin / s3 -w" файли
Я просто пішов вперед і знайшов свого улюбленого, якого я бачив, іменуваного perl-перейменувати, даючи 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