[TiLUG] rinominare in serie file
Matteo D'Alfonso
werewolf@linux.it
Sab 30 Set 2006 16:14:25 CEST
Ciao a tutti,
espongo un problema che ho già risolto per avere memoria in rete e far
vedere le potenzialità della shell.
Problema:
Molti file, tutti in un'unica cartella, con questa struttura
"01.blabla.mp3", in cui il terzo carattere è sempre un punto, e va
sostituito con il carattere meno.
Soluzione:
All'inizio pensavo di appoggiarmi esclusivamente alla shell e alle
coreutils con questo comando
$ for i in *; do mv $i $(echo $i | tr . -); done
Senonché "tr" traduce fino a fine stringa, non fermandosi alla prima
occorrenza. Ottenevo infatti "01-blabla-mp3"
Ho risolti usando quindi sed
$ for i in *; do mv $i $(echo $i | sed -e s/[.]/-/); done
Le parentesi quadre servono per evitare che sed interpreti il punto come
carattere speciale, normalmente infatti significa "tutti i caratteri".
Alla prossima,
Matteo alias Werewolf
P.S. shell power!
-------------- parte successiva --------------
Un allegato non testuale è stato rimosso....
Nome: non disponibile
Tipo: application/pgp-signature
Dimensione: 191 bytes
Descrizione: Questa =?ISO-8859-1?Q?è? firmata digitalmente
Url: http://lists.linux.it/pipermail/tilug/attachments/20060930/592faedd/attachment.pgp
Maggiori informazioni sulla lista
Tilug