[KSH] écrire correctement dans un fichier

Résolu
JOBiJOBa2 Messages postés 93 Statut Membre -  
JOBiJOBa2 Messages postés 93 Statut Membre -
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. foobar47 Messages postés 13654 Statut Contributeur 534
     
    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
  2. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    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
  3. JOBiJOBa2 Messages postés 93 Statut Membre 5
     
    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. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
       
      voir le message #2
      0
  4. JOBiJOBa2 Messages postés 93 Statut Membre 5
     
    J'avais pas vu.
    Cela marche aussi.
    sauf que j'avais oublié le
    let J=$J+1


    Merci et A+
    0