У меня есть куча изображений 1.jpg 2.PNG 3.gif 4.jpeg
в каталоге. Я хочу переименовать их все в 1-s.jpg 2-s.PNG 3-s.gif 4-s.jpeg
.
Я попробовал выполнить эти команды, но они не оказали никакого эффекта на файлы в каталоге:
rename 's/^(\d+)\.(.*)/$1-s.$2/' .
rename 's/^(\d+)\.(.+)/$1-s.$2/' .
rename 's/.*\.(.+)/$1-s.$2/' .
Что я сделал не так?
решение1
Используйте подстановочные знаки *
для имен файлов:
rename 's/^(\d+)\.(.*)/$1-s.$2/' *
и можно немного упростить:
rename 's/^(\d+)(?=\.)/$1-s/' *
где (?=\.)
— положительный просмотр вперед, который гарантирует наличие точки после цифры, не захватывая ее.