Alors, c'est encore plus simple. Il n'y a pas besoin d'extraire le numéro.
Le programme devient :
num_img=0
ls -1 image*.jpg | while read old_name do new_name=`echo ${num_img} | awk '{printf("img_%d.jpg", $1)}'` mv ${old_name} ${new_name} num_img=`expr $num_img + 1`
done |
N.B. ls liste les fichiers par ordre alphabétique par défaut, donc les fichiers devraient être numérotés dans le bon ordre, sans se soucier de faire un moins vingt-deux.
Message édité par olivthill le 26-09-2011 à 16:27:45