You are here

Rinominare con numeri progressivi un insieme di file

Ho trovato una discussione sul modo migliore per rinominare con numeri progressivi un insieme di file:
http://stackoverflow.com/questions/3211595/renaming-files-in-a-folder-to-sequential-numbers

Nessuno degli script proposti, però, mi soddisfa, perché nessuno garantisce con assoluta certezza (secondo la mia opinione, ovviamente potrei sbagliarmi) che i file siano rinominati in base all'ordine alfabetico originario. In particolare, non ho visto scritto da nessuna parte che l'elenco dei file restituito da "ls" o da "find" sia necessariamente alfabetico.

La soluzione da me proposta è la seguente, ovviamente adattabile in base alle proprie esigenze:

ls *.png -1 | awk '{printf("%s%s%s\n","\"",$0,"\"")}' | sort -n | gawk 'BEGIN{ a=1 }{ printf "mv %s %02d.png\n", $0, a++ }' | bash 

Buono scripting a tutti,
Francesco Galgani

Classificazione: