En utilisant le logiciel rename
puis la commande
$ ls vort*.txt
vort-0.001.txt vort-0.01.txt vort-0.1.txt vort-0.2.txt
puis
rename -n 's/(\d+\.\d+)/sprintf "%.2f", $1/e' vort*.txt
imposera partout une précision à deux chiffres, car
rename(vort-0.001.txt, vort-0.00.txt)
rename(vort-0.1.txt, vort-0.10.txt)
rename(vort-0.2.txt, vort-0.20.txt)
Si vous souhaitez renommer en minimum c'est-à-dire ne modifier que les noms de fichiers qui ont actuellement une précision à un chiffre, alors
$ rename -n 's/(\d+\.\d)(?=\D)/sprintf "%.2f", $1/e' vort*.txt
rename(vort-0.1.txt, vort-0.10.txt)
rename(vort-0.2.txt, vort-0.20.txt)
Retirer le -n
une fois que vous avez la certitude qu'il fait ce qu'il faut.
Pour faire la même chose en utilisant uniquement des manipulations bash Shell,
for f in vort-?.?.txt; do
base=${f%.txt}
printf -v newname 'vort-%.2f.txt' "${base#vort-}"
echo mv -- "$f" "$newname"
done
Ici, enlevez le echo
après les tests.