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.
Vic Steele
Linux 2.6
Linux 2.6
Messaggi: 534
Iscritto il: dom apr 27, 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

Messaggioda Vic Steele » sab nov 13, 2010 10:38

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: 2893
Iscritto il: mer feb 13, 2008 16:19
Slackware: current
Kernel: 3.14.23
Desktop: KDE4
Località: Bulagna
Contatta:

Re: Rinominare file

Messaggioda 414N » sab nov 13, 2010 11:01

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 set 03, 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

Messaggioda Mario Vanoni » sab nov 13, 2010 15:18

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: 644
Iscritto il: sab gen 17, 2009 12:53
Nome Cognome: Riccardo
Slackware: 13.0
Kernel: 2.6.29.6
Desktop: Xfce
Località: Bologna

Re: Rinominare file

Messaggioda ulisse89 » sab nov 13, 2010 16:48

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 2.6
Linux 2.6
Messaggi: 534
Iscritto il: dom apr 27, 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

Messaggioda Vic Steele » mar nov 16, 2010 8:48

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


Torna a “Programmazione”

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite