[RISOLTO] Rinominare piu file (comando rename ed mmv)
-
firstlord
[RISOLTO] Rinominare piu file (comando rename ed mmv)
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 ?
Ultima modifica di firstlord il lunedì 6 agosto 2007, 19:25, modificato 1 volta in totale.
Re: Rinominare piu file
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'
Codice: Seleziona tutto
for s in *.jpg;
do
mv $s `date -I`$s;
donefor s in *.jpg; do mv $s `date -I`$s; done
Modificato: mancava una 's'
Ultima modifica di takeshi il lunedì 6 agosto 2007, 15:21, modificato 1 volta in totale.
Raising Elephants Is So Utterly Boring
-
firstlord
Re: Rinominare piu file
Grazie, stavo cercando di utilizzare il comando rename con le regex ma ci capisco poco.
-
firstlord
Re: Rinominare piu file
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
1.pdf ---------> [fr]1.pdf
2.pdf ---------> [fr]2.pdf
3.pdf ---------> [fr]3.pdf
4.pdf ---------> [fr]4.pdf
- difesaparcosempione
- Rampante Reduce

- Messaggi: 6031
- Iscrizione: giovedì 27 luglio 2006, 19:06
- Località: Torino
- Contatti:
Re: Rinominare piu file
mv 1.pdf \[fr\]1.pdf
ciao

ciao
-
firstlord
Re: Rinominare piu file
Grazie, per rinominarli tutti assieme ho provato:
ma mi dice:
Codice: Seleziona tutto
mv *.pdf \[fr\]*.pdfCodice: Seleziona tutto
mv: target `[fr]1.pdf' is not a directoryRe: Rinominare piu file
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).ma mi dice:
Codice:
mv: target `[fr]1.pdf' is not a directory
Per fare quello che richiedi puoi utilizzare a scelta rename o find o un semplice for:
Codice: Seleziona tutto
rename 's/^/[fr]/' *.pdfCodice: Seleziona tutto
find ./*.pdf -maxdepth 1 -exec mv {} \[fr\]{} \;Codice: Seleziona tutto
for i in *.pdf; do mv $i \[fr\]$i; doneRaising Elephants Is So Utterly Boring
-
firstlord
Re: Rinominare piu file
evvai! grazie milleCodice:
Codice: Seleziona tutto
rename 's/^/[fr]/' *.pdf
mi postresti spiegare il significato dei vari pezzi del comando? e se invece volessi eliminare il prefisso?
Re: Rinominare piu file
mi postresti spiegare il significato dei vari pezzi del comando?
Codice: Seleziona tutto
rename 's/^/[fr]/' *.pdf/^/ = 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 è
Codice: Seleziona tutto
rename 's/.*/[fr]$&/' *.pdfs/ = sostituisci
/.*/ = qualsiasi stringa formata da 0 o più caratteri
/[fr]$&/ = con [fr] più la stringa che hai trovato
Per eliminare il prefisso [fr] appena inserito devi cercarlo e sostituirlo con la stringa nulla così:e se invece volessi eliminare il prefisso?
Codice: Seleziona tutto
rename s/\[fr\]// *.pdfRaising Elephants Is So Utterly Boring
- simo_magic
- Rampante Reduce

- Messaggi: 9496
- Iscrizione: lunedì 18 dicembre 2006, 21:37
- Località: Piemonte
Re: Rinominare piu file
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
Codice: Seleziona tutto
sudo apt-get install mmvbene
Codice: Seleziona tutto
mmv 'aaa*.mpg' 'aaa0#1.mpg'Codice: Seleziona tutto
man mmvps se cercavi trovavi almeno 2 post in cui ne ho già parlato io stesso
-
firstlord
Re: Rinominare piu file
@takeshi
Grazie!
Ora me lo leggero!
@simo_magic
Grazie!
@simo_magic
Volevo utilizzare gli strumenti di default.ma usare un bel programmino fatto allo scopo no???
Chi c’è in linea
Visualizzano questa sezione: Google [Bot], Majestic-12 [Bot] e 7 ospiti
