Pagina 1 di 1

Rinominare file

Inviato: sab nov 13, 2010 10:38
da Vic Steele
Salve a tutti.
Ho bisogno di un metodo per rinominare automaticamente tanti file in un determinato modo. Ovvero, vorrei semplicemente che dato un set di file con questi nomi:

file.1.txt
file.numero.2.jpg
file.con.nome.molto.lungo.avi


questi vengano rinominati sostituendo gli spazi ai punti, ad eccezione dell'ultimo punto (che è quello dell'estensione):

file 1.txt
file numero 2.jpg
file con nome molto lungo.avi


Ho intenzione di fare uno script che agisca localmente mettendo mano nella directory in cui è eseguito. Semmai dovessi arrivarci prima di voi posterò il mio risultato. Nel frattempo, qualcuno che ha sicuramente più esperienza di me ha già qualche idea o soluzione?

Re: Rinominare file

Inviato: sab nov 13, 2010 11:01
da 414N

Codice: Seleziona tutto

for FILE in *
do
      SUFFIX=`echo "$FILE" | rev | cut -d. -f1 | rev`
      NEWFILE="`basename "$FILE" .$SUFFIX | tr . ' '`"
      mv "$FILE" "$NEWFILE.$SUFFIX"
done

Re: Rinominare file

Inviato: sab nov 13, 2010 15:18
da Mario Vanoni
Se vuoi un metodo interattivo
http://freshmeat.net/projects/renameutils/
lo uso da oltre 10 anni con nvi(1),
il pregio, cambi in i nomi come ti pare.

Re: Rinominare file

Inviato: sab nov 13, 2010 16:48
da ulisse89
Lo script che ti hanno passato è molto più giusto in questa situazione, ma nel caso avessi altri problemi simili esiste un programma che si occupa di rinominare in massa dei file.
http://www.infinicode.org/code/pyrenamer/

Re: Rinominare file

Inviato: mar nov 16, 2010 8:48
da Vic Steele
Ottimo script e ottimi consigli.
Grazie a tutti e tre!