Repository 32bit  Forum
Repository 64bit  Wiki

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.

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?
Vic Steele
Linux 2.6
Linux 2.6
 
Messaggi: 534
Iscritto il: dom apr 27, 2008 12:46
Località: Potenza
Nome Cognome: Luigi Caiazza
Slackware: current x86_64
Kernel: 3.0.0
Desktop: Fluxbox / KDE 4.7.0
Distribuzione: Fedora 15

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
Avatar utente
414N
Iper Master
Iper Master
 
Messaggi: 2882
Iscritto il: mer feb 13, 2008 16:19
Località: Bulagna
Slackware: 14.0 (x64)
Kernel: 3.2.29
Desktop: LXDE

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.
Mario Vanoni
Iper Master
Iper Master
 
Messaggi: 3174
Iscritto il: lun set 03, 2007 20:20
Località: Cuasso al Monte (VA)
Nome Cognome: Mario Vanoni
Slackware: 12.2
Kernel: 3.0.4 statico
Desktop: fluxbox/seamonkey

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

Re: Rinominare file

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

Ottimo script e ottimi consigli.
Grazie a tutti e tre!
Vic Steele
Linux 2.6
Linux 2.6
 
Messaggi: 534
Iscritto il: dom apr 27, 2008 12:46
Località: Potenza
Nome Cognome: Luigi Caiazza
Slackware: current x86_64
Kernel: 3.0.0
Desktop: Fluxbox / KDE 4.7.0
Distribuzione: Fedora 15


Torna a Programmazione

Chi c’è in linea

Visitano il forum: Bing [Bot] e 3 ospiti