У меня есть группа фото файлов, которые называют: ddmmyyyyxxxx.jpg
(xxxx просто порядковый номер), что я пытаюсь искать, но печально никакие результаты, должен переименовать имя файла к yyyy-mm-dd-xxxx.jpg
.
Все, что я могу найти в сети, или заменяет определенный символ или изменяет регистр букв.
Необходимо смочь сделать то получение использования группы с находящимся в perl rename
команда, например, в его самом простом
rename -vn -- 's/^(\d{2})(\d{2})(\d{4})/$3-$2-$1/' *.jpg
(Примечание: -n
флаг пробного прогона: это ничего на самом деле не изменит, если Вы не удалите это.)
Вы могли сделать это использование следующего сценария удара.
#!/bin/bash
for file in $(ls)
do
date=${file:0:2}
month=${file:2:2}
year=${file:4:4}
sequence=${file:8:4}
extension=${file: -3}
mv $file $year\-$month\-$date\-$sequence.$extension
done
echo all files have been renamed
Для использования этого сценария откройте терминал и тип touch script
сопровождаемый chmod +x script
сделать это исполняемым файлом. Затем выполненный nano script
и копия вставляет код выше в терминал. сохраните файл путем нажатия CTRL+X, follwed Y и затем войдите. Затем переместите сценарий в каталог, содержащий эти изображения, и выполните сценарий путем выполнения ./script
.
Это переименует все файлы в в каталоге сценария к шаблону, который Вы запросили. Однако это также переименует сам сценарий поэтому, если Вы захотите запустить скрипт снова, просто обратите внимание, что это будет иметь другое имя (то это закончит тем, что было pt-ri-sc-.ipt
Я рекомендовал бы работать mv pt-ri-sc-.ipt script
перед использованием сценария снова. Другое мудрое Вы могли заменить ls
с ls $1
и сохраните сценарий где-то в другом месте, чтобы не переименовывать его случайно. Также этот сценарий будет только работать правильно за файлами, которые имеют имена в последовательности, данной в вопросе (ddmmyyyyxxxx.jpg
). Для любых других файлов файл закончится с некоторым странным именем.
Для этого вида процедуры я использую Krename, это имеет GUI и является немного интуитивным … Под человечностью, Вы находите его в Центре программного обеспечения.