gapz.tuxfamily.org, 21 décembre 2006, gapz — Rien de révolutionnaire dans ce billet, juste un petit script qui permet de renommer tout les fichiers du répertoire courant contenant des espaces, en remplacant ceux-ci par un "_", ou par le caractère de votre choix, il vous suffit de modifier le script ;-)
#!/bin/bash
for f in * ;
do
nn=`echo $f | tr "[:blank:]" "_"`
if [ ! "$nn" = "$f" ]; then
mv "$f" "$nn"
let "cm = cm + 1"
fi
done
echo "$cm modification(s)"
Vous retrouverez bien sûr plein d'autre possibilité pour faire exactement la même chose, comme par exemple :
rename 's/[[:blank:]]/_/g' *
Ou encore :
for a in * ;do
b=$(echo $a | sed -e 's/[[:blank:]]/_/g');
if [ -e "$b" ];then
echo "">/dev/null;
else
mv "$a" "$b";
fi
done
Totalement inspiré de l'astuce sur Léa Linux.