Comment faire quand j’ai deux cartes mémoires l’une après l’autre dans mon appareil photo et que je veux des noms de fichiers qui se suivent ?
# There has to be at least one file in the current folder responding to the given pattern # start of variables prefix=DSC_ # file name prefix extension=NEF # file name suffix digits=4 # number of digits increase=257 # will be added to index # end of variables lengthofprefix=${#prefix} files=($prefix*.$extension) # Rename files in reverse order to avoid collisions for ((i=${#files[@]}-1; i>=0; i--)) do file=${files[$i]} # DSC_0047.JPG index=${file:lengthofprefix:digits}; # 0047 index=`echo $index|sed 's/^0*//'`; # 47 - so that not interpreted as hex newindex=$((index+increase)); # 333 newindex=`printf "%0${digits}d" $newindex`; # 0333 newfile=$prefix$newindex.$extension; # DSC_0333.JPG echo renaming $file to $newfile; # renaming DSC_0047.JPG to DSC_0333.JPG mv -i $file $newfile done
Keywords : batch renaming image files