Я являюсь довольно новым для пакетной обработки переименования, и я озирался немного, и я нашел некоторый материал при переименовании большого количества файлов, которые являются всеми одинаковыми тип, но ничто действительно при переименовании набора файлов, которые имеют различные расширения.
этим я подразумеваю, что у меня есть каталог как так:
Folder
|
file.jpg
EBUFEWO.png
otherFile.jpg
и я пытаюсь выяснить, как я могу переименовать его, чтобы быть похожим на это:
Folder
|
Renamed_0001.jpg
Renamed_0002.png
Renamed_0003.jpg
Я хотел бы сохранить расширения файлов в папке, но переименовать их как я имею выше здесь.
Я искал некоторое время и действительно не столкнулся ни с каким примером этого, любая справка была бы большой!
Я думаю, что сделал бы
shopt -s nullglob
cd Folder
n=1
for file in *.*; do
printf -v newfile 'Renamed_%04d.%s' $((n++)) "${file##*.}"
echo mv -- "$file" "$newfile"
done
mv -- EBUFEWO.png Renamed_0001.png
mv -- file.jpg Renamed_0002.jpg
mv -- otherFile.jpg Renamed_0003.jpg
(echo
добавленный для тестирования). С другой стороны, с находящимся в perl prename
cd Folder
prename -n 'our $n; s/(.*)\.(.*)$/sprintf "Renamed_%04d.%s", ++$n, $2/e' *.*
EBUFEWO.png renamed as Renamed_0001.png
file.jpg renamed as Renamed_0002.jpg
otherFile.jpg renamed as Renamed_0003.jpg
(-n
добавленный для тестирования).
Я надеюсь, что это помогает
count=1; \
for file in * ; do ext=${file##*.}; \
while [ ${#count} -ne 3 ]; do count="0"$count; done; \
mv "$file" Renamed_$count.$ext; count=$((10#$count+1)); done
, Это было протестировано на содержании единственной папки и работало, когда Вы указали.
ext=${file##*.}
расширение получения файла, который будет переименован. while [ ${#count} -ne 3 ]; do count="0"$count; done
Вы запросили, чтобы переименованные файлы содержали 3 цифры, это добавляет, что необходимое количество начальных нулей, 1
становится 001
, и 20
становится 020
и т.д. mv "$file" Renamed_$count.$ext;
, переименовывает файл к указанным параметрам. , Учитывая мой ограниченный опыт я уверен, что существуют более простые более эффективные способы.
Примечание, что это выполнялось на указанной папке однажды.