zmv
и змв
Если у вас есть zsh (который используется по умолчанию в OS X), вы можете использовать zmv
:
% zsh
% autoload -U zmv
% zmv 'title_december_(*)_(*).png' 'title_december_$2_$1.png'
Запустит следующую команду (используйте zmv -n
для пробного запуска без фактического переименования):
mv -- title_december_word1_word2.png title_december_word2_word1.png
Очевидно, вы можете быть немного более гибкими, если первые части отличаются для каждого изображения:
% zmv '(*)_(*)_(*).png' '$1_$3_$2.png'
mv -- foo_bar_word1_word2.png foo_bar_word2_word1.png
mv -- title_december_word1_word2.png title_december_word2_word1.png
Это работает, потому что совпадения являются жадными и поэтому проглатывают все подчеркивания до последнего перед другими группами совпадений.
rename
стиле Perl
На OS X вы можете получить rename
с помощью Homebrew:
$ rename -n 's/(.*)_(.*)_(.*).png/$1_$3_$2.png/' *
'foo_bar_word1_word2.png' would be renamed to 'foo_bar_word2_word1.png'
'title_december_word1_word2.png' would be renamed to 'title_december_word2_word1.png'
Опция -n
печатает только то, что было бы переименовано.