Rinominare file

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Vic Steele
Linux 3.x
Linux 3.x
Messaggi: 534
Iscritto il: dom 27 apr 2008, 13:46
Nome Cognome: Luigi Caiazza
Slackware: current x86_64
Kernel: 3.0.0
Desktop: Fluxbox / KDE 4.7.0
Distribuzione: Fedora 15
Località: Potenza
Contatta:

Rinominare file

Messaggio 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?

Avatar utente
414N
Iper Master
Iper Master
Messaggi: 2903
Iscritto il: mer 13 feb 2008, 16:19
Slackware: 14.2
Kernel: 4.4.19
Desktop: KDE4
Località: Bulagna
Contatta:

Re: Rinominare file

Messaggio 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

Mario Vanoni
Iper Master
Iper Master
Messaggi: 3174
Iscritto il: lun 3 set 2007, 21:20
Nome Cognome: Mario Vanoni
Slackware: 12.2
Kernel: 3.0.4 statico
Desktop: fluxbox/seamonkey
Località: Cuasso al Monte (VA)

Re: Rinominare file

Messaggio 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.

Avatar utente
ulisse89
Packager
Packager
Messaggi: 643
Iscritto il: sab 17 gen 2009, 12:53
Nome Cognome: Riccardo
Slackware: 13.0
Kernel: 2.6.29.6
Desktop: Xfce
Località: Bologna

Re: Rinominare file

Messaggio 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/

Vic Steele
Linux 3.x
Linux 3.x
Messaggi: 534
Iscritto il: dom 27 apr 2008, 13:46
Nome Cognome: Luigi Caiazza
Slackware: current x86_64
Kernel: 3.0.0
Desktop: Fluxbox / KDE 4.7.0
Distribuzione: Fedora 15
Località: Potenza
Contatta:

Re: Rinominare file

Messaggio da Vic Steele »

Ottimo script e ottimi consigli.
Grazie a tutti e tre!

Rispondi