IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Enregistrer dans un fichier pour chaque boucle while


Sujet :

Shell et commandes GNU

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 10
    Points : 0
    Points
    0
    Par défaut Enregistrer dans un fichier pour chaque boucle while
    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:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    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 :
    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

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 587
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 587
    Points : 19 470
    Points
    19 470
    Par défaut
    Bonjour,

    quel format doit avoir le nom de ces fichiers ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dateUTC=$(echo $line | awk '{ print $1}'
    RA=$(echo $line | awk '{ print $2}
    ça, ça va provoquer une erreur; d'abord parce que $line n'existe pas à ce moment là, enfin, parce que la parenthèse de la substitution de commande n'est pas refermée
    de toutes façons, c'est inutile :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while read val_1 val_2 # où val_1 et val_2 sont date_UTC et RA

  3. #3
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 10
    Points : 0
    Points
    0
    Par défaut
    Pardon je me suis trompé :/

    J'ai un fichier 1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    cat fichier1 
    while read line 
    do
    dateUTC=$(echo $line | awk '{ print $1}')
    RA=$(echo $line | awk '{ print $2}')
     
    echo "$dateUTC"
    echo "$RA"
     
    done < fichier1> ff
    En fait j 'aimerai enregistre dans un fichier :
    et dans un autre :

  4. #4
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 10
    Points : 0
    Points
    0
    Par défaut
    Je crois qu'il faut le faire avec un compteur mais je n'arrive pas à l'écrire..

  5. #5
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 266
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 266
    Points : 13 526
    Points
    13 526
    Par défaut
    Bonjour,

    j'ai envie de dire que la réponse est dans la question. Si tu ne veux pas une redirection au global, alors il faut faire une redirection dans la boucle et non à l'extérieur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    compteur=1
    while read line
    do  
    fic_sortie="fic_sortie$compteur"
    echo "date: $dateUTC" > "$fic_sortie"
    echo "<td>$RA</td>" >> "$fic_sortie"
     
    compteur=$(( compteur + 1 ))
    done < fic1

  6. #6
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 10
    Points : 0
    Points
    0
    Par défaut
    Imaginons que je veuilles récupérer
    123
    456 dans un fichierf1
    et
    789
    145 dans un fichierf2
    A l'aide de votre script comment pourrais-je faire pour appeler ce fichierf1 et fichierf2?

  7. #7
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 587
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 587
    Points : 19 470
    Points
    19 470
    Par défaut
    presque comme Flodelarab :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    #!/bin/bash
     
    while read -r dateUTC ra _
    do
       printf 'date: %s\n<td>%s</td>\n' "$dateUTC" "$ra" > "$fic_sortie_$((++compteur))"
    done < fic1

  8. #8
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 266
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 266
    Points : 13 526
    Points
    13 526
    Par défaut
    Je m'apprêtais à répondre, et en fait, non. Plutôt que de poster un message toutes les minutes, tu ferais mieux de chercher et tester les bouts de codes qu'on te donne. La réponse à ta question sera évidente quand tu auras bossé un minimum sur ta propre question et testé nos solutions.

  9. #9
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 10
    Points : 0
    Points
    0
    Par défaut
    ok merci de l'aide =)

  10. #10
    Expert éminent

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Points : 6 276
    Points
    6 276
    Par défaut
    Salut,

    Citation Envoyé par Flodelarab Voir le message
    Je m'apprêtais à répondre, et en fait, non. Plutôt que de poster un message toutes les minutes, tu ferais mieux de chercher et tester les bouts de codes qu'on te donne. La réponse à ta question sera évidente quand tu auras bossé un minimum sur ta propre question et testé nos solutions.
    L'idéal serait aussi qu'il ne poste pas sur plusieurs forums à la fois en piochant là où ça lui convient le mieux

Discussions similaires

  1. Réponses: 4
    Dernier message: 06/06/2011, 21h05
  2. Comment faire pour supprimer définitivement un enregistrement dans un fichier
    Par gryffondor8392 dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 03/02/2011, 19h12
  3. Réponses: 4
    Dernier message: 20/12/2007, 07h58
  4. Réponses: 11
    Dernier message: 01/03/2006, 10h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo