[KSH] écrire correctement dans un fichier

Résolu
Bonjour à tous,
J'ai ce code ci-dessous :
J=0
while [ $J -ne 5 ]
do   
		
	echo "JOBi;JOBa;" >> test.txt
		
done


Voici ce que j'obtiens :
JOBi;JOBa;
JOBi;JOBa;
JOBi;JOBa;
JOBi;JOBa;
JOBi;JOBa;

Et je voudrais :
JOBi;JOBa;JOBi;JOBa;JOBi;JOBa;JOBi;JOBa;JOBi;JOBa;


Comment doit-je mis prendre pour avoir le bon résultat alors que ma boucle est obligatoire?

Sinon quand ce problème sera résolu, comment est-ce que je pourrai faire un saut de ligne? Avec un "/n" ?

Merci d'avance.
^^
Configuration: Windows XP
Firefox 3.0.1

4 réponses

  1. Contributeur
    Salut,

    Voici un bout de code simplissime :
    tr  \\n " " < test.txt > result.txt

    Mais ça ajoute des espaces...

    Sinon, un peu plus élaboré qui répond pile poil à ta demande :
    for i in `cat test.txt`;    do echo -n "$i" >> result.txt; done

    Pour le saut de ligne, tout simplement :
    echo "" >> test.txt


    A+
    0
    1. si tu n'es pas sur Linux et que echo -n n'est pas reconnu,faire
      J=0
      while [ $J -ne 5 ]
      do   	
      	echo "JOBi;JOBa;\c" >> test.txt	
      done
      echo >> test.txt

      ou
      (J=0
      while [ $J -ne 5 ]
      do   	
      	echo "JOBi;JOBa;\c" 
      done
      echo ) >> test.txt
      0
      1. Merci pour ta première solution elle me va très bien :
        tr  \\n " " < test.txt > result.txt


        Par contre pour la deuxième , j'ai :
        echo -n "toto"
        -n toto


        Apparament il ne reconnais pas l'option -n.

        Merci à toi foobar47
        A+
        ^^
        0
        1. voir le message #2
          0
      2. J'avais pas vu.
        Cela marche aussi.
        sauf que j'avais oublié le
        let J=$J+1


        Merci et A+
        0

        Discussions similaires

        question pix mot caché

        7 réponses