Modificare nomi dei file in una directory con sed

Dopo aver scaricato file con wget ho avuto la sorpresa di aver lasciato il carattere %20 all'interno dei nomi dei file...

Dopo aver scaricato una serie di file con WGET da un file indice, mi son ritrovato con circa 1500 file che all'interno del loro nome avevano la sequenza %20 (quella dello spazio).
Dovevo toglierla in modo semplice e veloce, e prendendo spunto da un tips & trick trovato su una rivista, con le oppurtune modifiche ho risolto la cosa in una sola riga di codice.

for i in * ; do [ -f $i ] && mv -i $i `echo $i | sed -r s/%20/_/g`; done

Con un unico ciclo e il comando sed ho rimosso la sequenza '%20' dai nomi di tutti i file nella direcotry sostituendola con il carattere '_' (undescore).

Ovviamente potete sbizzarrirvi nel modificare il comando per fare altri tipi di modifiche grazie a sed e alle regexp che potete scrivere.

Privacy Policy