[gull] bash>for>word

Daniel Cordey dc at mjt.ch
Fri Dec 5 14:50:02 CET 2003


On Friday 05 December 2003 14:39, BRINER Cedric wrote:

> > Il y a bien l'Input Field Separator (IFS), mais je ne jouerais pas
> > avec ça.
>
> je m'en doutais bien qu'il devait y avoir un truc ds le genre

Si tu joues avec le IFS, il est important d'en faire une sauvegarde avant de 
le modifier et de le reinstaller apres usage.

x=${IFS}
...
IFS='...'
...
IFS=${x}

Sinon, tu risques te t'arracher les cheveux dans la suite du script !

Mais dans tous les cas, cela ne fontionnerait pas pour 

for i in $(ls ...)

car le separateur ' ' (SPACE) est a la fois le seperateur des arguments de la 
commande for et fait partie de certain nom de fichiers. Mais si tu dois 
absolument utiliser la commande for + ls parceque tu as fait un pari avec un 
copain, alosr voila :

for name in $(ls -1 /mp3/* | sed 's/ /@_ at g')
do
   newname=$(echo ${name} | sed 's/@_@/ /g')
   ./script ...
done

Vraiment debile (en plus d'etre nettement plus lent !) :-)

Daniel






More information about the gull mailing list