Sto cercando di rinominare i file in questo modo:
for file in *;
do
mv -i "$file" "$(echo "$file" | sed -e 's/[^A-Za-z0-9._-]/_/g')";
done
Ma il sed
comando sostituisce tutti gli spazi con _
.
Come posso modificare il sed
comando per farlo includere spazi tra i caratteri specificati? Ho provato a usare \s
ma non funziona ...
EDIT:
Ad esempio: il file trip: hill
, dovrebbe essere rinominato:, trip_ hill
ma il comando sopra lo rende trip__hill
.