Appunti di Programmazione

Script per rinominare molti files

Dovevo rinominare, lasciando invariata l'estensione, TUTTE le immagini contenute in una cartella con un nome composto dalla parola Immagine seguita da un indice numerico, in questo modo: Immagine_1.jpg, Immagine_2.bmp, ... Immagine_38.jpg...

Ho pensato di risolvere scrivendo uno script da usare nel terminale.

Per realizzarlo è sufficiente un normale editor di testo.
- La prima linea di codice deve essere #!/bin/bash seguita da tutte le istruzioni necessarie alla realizzazione.
- Il file deve essere salvato con estensione .sh.
- Deve essere reso eseguibile con il comando chmod +x Nome_File.sh.
- Per utilizzarlo usare ./ davanti al nome completo del file stesso.

#!/bin/bash

# Rinomina File
n=1
for i in ./* 
do
mv "$i" Immagine_"$n"."${i##*.}"
let "n+=1"
done

exit 0

Salvo il file come "rinomina.sh". Poi lo rendo eseguibile:

chmod +x rinomina.sh

Quindi lo uso

./rinomina.sh

Per poterlo utilizzare come un normale comando di shell, deve essere copiato, con i permessi di root, dentro la cartella /usr/local/bin. Adesso si può usare lo script in qualunque parte del filesystem digitando solo il nome seguito dall'estensione: rinomina.sh