Trucs:Supprimer les espaces dans un nom de fichier

De Lea Linux
Aller à la navigation Aller à la recherche
AdN<>

Stop!!!

Il suffit que j'écrive un script, que je tape une commande, et mes fichiers dont le nom contient des espaces m'obligent à utiliser les \ , "" ou ''

Voyons comment remplacer ces espaces par des _

#!/bin/sh
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

et vous ?


Note de Jean-Thomas MUYL (maston28) :

Il suffit en fait d'utiliser la commande tr

for i in * ;
do
a=`echo $i | tr "[:blank:]" "_"`
mv "$i" "$a"
done

Ca revient au même, mais c'est toujours intéressant de connaître deux manières de faire quelque chose hein :)


note de Raph_

on peut aussi utiliser rename 's/[[:blank:]]/_/g' *