Remplacement des espaces

Résolu
lily -  
bob031 Messages postés 8228 Statut Membre -
Bonjour,
je recherche une commende pour remplacer tous les espaces des noms de répertoire par un caractères _
j'arrive a afficher la liste des dossier et sous-dossier avec

find -name "*\ *" -type d -print

il faut peut etre utiliser un mv pour renommer les dossier mais je pas trop comment m'y prendre pour faire tout les dossier à la fois

lily
Configuration: Linux
Firefox 3.0.11

4 réponses

  1. bob031 Messages postés 8228 Statut Membre 473
     
    bonjour,

    $ find -depth . | (while read FULLPATH; do BASENAME=`basename "${FULLPATH}"`; DIRNAME=`dirname "${FULLPATH}"`; mv "${DIRNAME}/${BASENAME}" "${DIRNAME}/${BASENAME// /_}"; done)


    bien sûr, faire un essai avant dans un répertoire test .....
    0
  2. lily
     
    merci pour vos réponses
    la solution de mamiemando a fonctionné *aléluïa*
    encore merci
    lily
    0
  3. bob031 Messages postés 8228 Statut Membre 473
     
    j'ai commis une petite erreur : il fallait lire :
    find . -depth blablabla


    et non pas
    find -depth . blablabla


    j'ai testé et ça marche aussi !

    :-)
    0