Enregistrer dans un fichier pour chaque boucle while

Résolu
wtfunix Messages postés 52 Statut Membre -  
dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
j'aurais aimer savoir comment pourrait-on faire afin d 'enregistrer dans un fichier des informations mais pour chaque boucle while effectuer. Par exemple j 'ai ma boucle while:

dateUTC=$(echo $line | awk '{ print $1}'
RA=$(echo $line | awk '{ print $2}'

while read line
do

echo "date: $dateUTC"
echo "<td>$RA</td>"

done < fic1 > fic2

et le fichier 1 est :

123 456
789 253

j'aimerai enregistrer à chaque fois dans un fichier chaque ligne c'est à dire avoir dans un fichier les valeurs 123 456 dans un autre 789 253 ...etc enregistrés de manière automatique?

Merci d'avance de votre aide

3 réponses

  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    hello
    $ awk '{print $1 RS $2 > "f" ++n}' fichier
    $ more f*
    ::::::::::::::
    f1
    ::::::::::::::
    123
    456
    ::::::::::::::
    f2
    ::::::::::::::
    789
    145
    1
  2. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    Salut,

    Il suffit de rajouter un compteur et de l'incrémenter à chaque boucle et d'ajouter ce compteur à ton nom de fichier.

    Par contre, je doute fort que ton exemple marche écrit de cette façon ;-(

    Tes 2 variables déclarées sont vides et le resteront, et par conséquent ton fichier de sortie sera vide aussi ;-(
    0
  3. wtfunix Messages postés 52 Statut Membre
     
    Pardon je me suis trompé :/
    J'ai un fichier 1 :
    123 456
    789 145

    cat fichier1 
    while read line
    do
    dateUTC=$(echo $line | awk '{ print $1}')
    RA=$(echo $line | awk '{ print $2}')

    echo "$dateUTC"
    echo "$RA"

    done < fic1> ff

    j 'aimerai enregistre dans un fichier f1 :
    123
    456
    et dans un fichier f2:
    789
    145

    Si je mets un compteur j'aurais:
    compteur=1
    while read line
    do
    fic_sortie="fic_sortie$compteur"
    echo "$dateUTC" > "$fic_sortie"
    echo "$RA" >> "$fic_sortie"

    compteur=$(( compteur + 1 ))
    done < fic1

    Mais comment pourrais-je faire pour récuperer ces fichiers f1 et f2?
    0
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      compteur=1
      while read line
      do
      echo -e "${dateUTC}\n${RA}" > f"${compteur}"

      ((compteur++))
      done < fic1
      0
    2. wtfunix Messages postés 52 Statut Membre
       
      Merci beaucoup pour la réponse !!
      0