[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. J'avais pas vu.
    Cela marche aussi.
    sauf que j'avais oublié le
    let J=$J+1


    Merci et A+
    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. Contributeur
        voir le message #2
        0
    2. Contributeur
      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. 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

        Discussions similaires

        question pix mot caché

        7 réponses