Как переименовать
sluno-20201027-call-metroua-status.mp4
sluno-20201103-call-deriva.mp4
sluno-20201103-call-metroua-status.mp4
sluno-20201105-call-makrocz.mp4
sluno-20201105-call-metroua-testcall.mp4
sluno-20201105-call-sluno-ggtabak.mp4
sluno-20201110-call-makrocz.mp4
sluno-20201110-call-metroua-status.mp4
sluno-20201110-call-sluno-utccz.mp4
в
sluno-call-metroua-status-20201027.mp4
sluno-call-deriva-20201103.mp4
sluno-call-metroua-status-20201103.mp4
sluno-call-makrocz-20201105.mp4
...
Просто переместите дату / строку на позицию 7-14
до конца имени файла.
Спасибо.
mmv хорошо работает для несложного переименования файлов .
mmv '*-*-*-*.mp4' '#1-#3-#4-#2.mp4'
Также может быть полезно иметь еще несколько ориентиров, чтобы не менять имя на что-то другое, особенно если в том же каталоге могут быть другие файлы.
mmv 'sluno-[0-9]*-call-[a-z]*.mp4' 'sluno-call-#3#4-#1#2.mp4'
^ ^ ^ ^
1 2 3 4
sluno-20201027-call-metroua-status.mp4
^------- ^-------------
1 2 3 4
Если бы я сделал это с минимальным количеством запросов, mv
и bash
, я бы использовал цикл for и bash
встроенное сопоставление BRE.
for i in *.mp4; do \
[[ $i =~ ^sluno-(.*)-call-(.*).mp4 ]] && \
mv -- "$i" "sluno-call-${BASH_REMATCH[2]}-${BASH_REMATCH[1]}.mp4"; \
done
Другой вариант:
$ qmv {шаблон}
поместит 2 столбца с именами файлов в выбранный вами редактор.
Измените правый столбец, чтобы указать нужные имена файлов.
В левом столбце указано исходное имя. Начальный столбец правой группы не может быть изменен, поэтому автоматический перенос может помешать.
В руках эксперта с каждым редактором это может быть безумно быстрым, особенно для столбцов vim и визуальных режимов.
] Обычно я использую переименование, но для сложных задач хорошо видеть точные имена в редакторе.
Используйте переименовать
:
rename -n 's/^(.*?)-(.*?)-(.*?)(\.mp4)$/$1-$3-$2$4/' *.mp4
Удалите -n
, если результат вас устраивает.
Для объяснения, посетите this .