Re: [bash] rimuovere spazi nel nome dei file e delle directory.
In data lunedì 6 giugno 2011 08:25:16, bodrato@mail.dm.unipi.it ha scritto:
> Prendendo dallo script l'idea "find|while read", potresti provare questa:
>
> find -depth -type d|while read d;do pushd "$d";rename 'y/ /_/' *;popd;done
>
> ATTENZIONE: non rinomina i file che iniziano con "." (punto)! (puoi
> provare con "* .*" al posto di "*")
>
> ATTENZIONE! L'applicazione non e` iniettiva: se una dir contiene i tre nomi
> "A B C", "A_B C" e "A B_C"... solo uno di questi potra` essere rinominato.
>
> ATTENZIONE: per quanto appena detto, la procedura non puo` essere
> reversibile! Se la esegui "all'indietro" con 'y/_/ /', converti in spazi
> anche i caratteri che erano gia` "_" (tratto basso) "prima della cura"!
>
> ...un carattere decisamente poco usato nei nomi file, soprattutto da
> alcuni altri sistemi operativi, dovrebbe essere ":" (due punti). Ci
> sarebbe anche "\" (barra inversa), ma questa facilmente ti da' dei
> grattacapi anche con bash...
>
> Ciao,
> m
mi sovviene un dubbio... visto che mv se ne sbatte se esiste già un qualcosa
con lo stesso nome... potrei se mi trovo nella situazione da te descritta con
i 3 file, rischierei di sovrascrivere una copia con l'altra?
Byez
--
Gollum 1
Tessssssoro, dov'é il mio tesssssssoro...
Reply to: