Re: [LA-discussions] problème d'espaces dans une variable bash

[ Thread Index | Date Index | More linuxarverne.org/discussions Archives ]


Voici un petit script qui pourrait t'inspirer :

#!/bin/bash

#Je sauvegarde ma variable IFS
CPIFS=$IFS
#Je substitue les séparateurs habituels par une apostrophe
IFS="'"
#

#Je fais une recherche insensible à la casse avec l'option iname, et cela ligne par ligne
find .  -type d -iname \* | while read line ;
do

    #J'ajoute des anti-slash devant mes espaces
    name=$(echo $line | sed 's/ /\\ /g')

    #exemple de commande à générer dans la boucle
    commande="ls -l $name"
    eval $commande
    echo $name visualisé
done
IFS=$CPIFS


Le jeu. 17 mai 2012 11:18:31 CEST, Daniel Cartron a écrit :
Le jeudi 17 mai 2012 10:12:00 Daniel Cartron a écrit :

il semblerait que
for DIRNAME in "*";do
au lieu de
for DIRNAME in *;do
suffise, qqun peut confirmer ?

Avant que je ne fasse un test catastrophique...

par contre du coup LETTER=$(echo ${ARTIST:0:1}); ne me renvoit plus l'initiale
de DIRNAME mais son nom complet, je trouve pas comment éviter ça...


--
Liste de discussions de LinuxArverne
http://wiki.linuxarverne.org/listes_de_diffusion


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/