Pagina 1 di 1
[RISOLTO] Rinominare piu file (comando rename ed mmv)
Inviato: domenica 5 agosto 2007, 14:25
da firstlord
Salve a tutti, vorrei sapere come si fa a rinominare da shell più file assieme, mi spiego: ho 10 file ed ad ognuno di essi ci vorrei aggiungere una cosa all'inizio. come dovrei fare ?
Re: Rinominare piu file
Inviato: domenica 5 agosto 2007, 16:33
da takeshi
Per rinominare tutti i files *.jpg nella directory corrente aggiungendo (per fare un esempio che può avere un senso) la data all'inizio del nome, si può fare affidamento sul ciclo for:
che per comodità può essere eseguito su di una sola riga:
for s in *.jpg; do mv $s `date -I`$s; done
Modificato: mancava una 's'

Re: Rinominare piu file
Inviato: domenica 5 agosto 2007, 17:23
da firstlord
Grazie, stavo cercando di utilizzare il comando rename con le regex ma ci capisco poco.
Re: Rinominare piu file
Inviato: lunedì 6 agosto 2007, 10:08
da firstlord
Scusate nessuno sa mica come si fa?
1.pdf ---------> [fr]1.pdf
2.pdf ---------> [fr]2.pdf
3.pdf ---------> [fr]3.pdf
4.pdf ---------> [fr]4.pdf
Re: Rinominare piu file
Inviato: lunedì 6 agosto 2007, 12:37
da difesaparcosempione
mv 1.pdf \[fr\]1.pdf
ciao

Re: Rinominare piu file
Inviato: lunedì 6 agosto 2007, 13:24
da firstlord
Grazie, per rinominarli tutti assieme ho provato:
ma mi dice:
Re: Rinominare piu file
Inviato: lunedì 6 agosto 2007, 15:20
da takeshi
ma mi dice:
Codice:
mv: target `[fr]1.pdf' is not a directory
E' perché il comando mv quando il primo argomento è una lista di files richiede che il secondo sia una directory (quella in cui verranno spostati tutti i files).
Per fare quello che richiedi puoi utilizzare a scelta rename o find o un semplice for:
Re: Rinominare piu file
Inviato: lunedì 6 agosto 2007, 15:37
da firstlord
evvai! grazie mille
mi postresti spiegare il significato dei vari pezzi del comando? e se invece volessi eliminare il prefisso?
Re: Rinominare piu file
Inviato: lunedì 6 agosto 2007, 19:06
da takeshi
mi postresti spiegare il significato dei vari pezzi del comando?
s/ = sostituisci
/^/ = l'inizio della stringa
/[fr]/ con [fr]
il resto della stringa (l'intero nome del file) viene riscritto pari pari.
Una versione forse più leggibile e corretta è
che significa letteralmente:
s/ = sostituisci
/.*/ = qualsiasi stringa formata da 0 o più caratteri
/[fr]$&/ = con [fr] più la stringa che hai trovato
e se invece volessi eliminare il prefisso?
Per eliminare il prefisso [fr] appena inserito devi cercarlo e sostituirlo con la stringa nulla così:
Per ulteriori informazioni:
Re: Rinominare piu file
Inviato: lunedì 6 agosto 2007, 19:09
da simo_magic
ma usare un bel programmino fatto allo scopo no???
hai 10 file aaax.mpg con x un numero e li vuoi trasformare in aaa0x.mpg?
bene
per ulteriori dettagli
ps se cercavi trovavi almeno 2 post in cui ne ho già parlato io stesso
Re: Rinominare piu file
Inviato: lunedì 6 agosto 2007, 19:24
da firstlord
@takeshi
Grazie!

Ora me lo leggero!
@simo_magic
ma usare un bel programmino fatto allo scopo no???
Volevo utilizzare gli strumenti di default.