Cambiare nome a molti file in linux
Tutto in una riga
Per rinominare molti file contemporaneamente in una directory in linux si può utilizzare un semplice ciclo for:
for filename in *; do mv "${filename}" "filename_nuovo"; done
In questo modo rinomina tutti i file (*) nella directory come filename_nuovo.
Per esepio se vogliamo aggiungere a tutti i file in una directory l'estensione .bak è sufficiente modificare così la riga:
for filename in *; do mv "${filename}" "${filename}.bak" ; done
Se invece si ha familiarità con le espressioni regolari di perl... allora diventa tutto semplice utilizzando il comando replace! Alcuni esempi:
# Rimuove l'esetensione .bak ai file .bak
rename 's/\.bak$//' *.bak
# converte in minuscolo i nomi dei file
rename 'y/A-Z/a-z/' *
Ricordatevi che esiste anche un simpatico parametro -n che simula e visualizza a video i file che verrebbero modificati. Una buona cosa per evitare problemi :)
Commenti
Primo :)
sarebbe possibile eliminare dal nome file i caratteri strani tipo: * : | ?
ho fatto:
Lascia un commento