Renomer une liste de fichiers avec des espaces

Lorsque l’on souhaite renommer un ensemble de fichiers contenant des caractères espace, l’utilisation d’une boucle de type :

for i in `find . -name “*” ; do

done

n’est par vraiement envisageable, en effet, les espaces identifiés comme des séparateurs de mots font que i prend pour valeur des sous ensembles du nom.

Pour résoudre ce problème, une solution consiste à modifier la variable IFS dont le rôle est de définir les séparateur de mots dans le shell bash.
La solution peut être la suivante :

export IFS=$’\n’
for i in `find . -name “*” ; do

done

i prend alors successivement les noms des fichiers, espaces inclus.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.