[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: probleme avec ^M



Vendredi 7 juillet 2006, 19:40:27 CEST, Néonoé a écrit :
> 
> #!/bin/zsh
> cat $1 | while read ligne ; do
> tr -d '\r'
> done
> 
> 
> 
> 
> ?
> ça convient? (Je ne suis pas un expert de la chose...)

Pas complètement :

1. UUOC (le cat est en trop) :
    while read ligne ; do
        ...
    done < $1
  aurait suffit.

2. Ton tr n'a pas d'entrée et il manque l'utilisation de $ligne, ce qui
   demanderait un tube supplémentaire :
      echo $ligne | tr -d '\r'

3. Le read réduit les espaces :
  une ligne "a b   c" est transformée en "a b c"

  En fait, le read décompose la ligne en mots ("a", "b" et "c") et met
ensuite ces mots dans la variable $ligne en les séparant par un seul
espace. (En considérant que IFS est bien l'espace.)

4. Et puis tr sait lire un fichier :
    tr -d '\r' $1
  fait tout le travail ;o)

-- 
 Sylvain Sauvage



Reply to: