Переменная в bash скрипте

Сделал простой скрипт массового переименования файлов:

#! /bin/bash

j=0;                    
for i in *.jpg;         
do let j+=1;            
mv $i  file_$j.jpg  ;

done

Скрипт переименовывает все файлы jpg в file_1.jpg, file_2.jpg и т.д.

Хотел, чтобы файлы переименовались в file_0001.jpg, file_0002.jpg и т.д.

Изменил строку mv $i file_%04d$j.jpg, но регулярка не работает.

Подскажите, как сделать, чтобы работала.


Ответы (1 шт):

Автор решения: overxffff
#!/bin/bash

numfile=1;
for file in *.jpg;do
newname=$(printf "file_%04d.txt" $numfile)
mv $file $newname
((numfile++))
done
→ Ссылка