1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    octobre 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : octobre 2015
    Messages : 6
    Points : 4
    Points
    4

    Par défaut Extraire des données d'un fichier log pour les rediriger dans une cellule Excel spécifique avec Awk

    Bonjour a tous,

    j'ai besoin de votre aide sur une sujet svp, je dois écrire un résultat d'une recherche de pattern dans d'un fichier log vers un fichier excel et dans une cellule bien spécifique exemple voici mes patterne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    awk '/Aug /&&/bounced/'  mail.log   | wc -l
    mais c'est après que je galère je ne peux que mettre le résultat dans la première cellule avez vous une idée afin que je puisse choisir mes cellules.


    Merci par avance.

  2. #2
    Expert éminent Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    décembre 2012
    Messages
    2 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : décembre 2012
    Messages : 2 707
    Points : 7 506
    Points
    7 506

    Par défaut

    Bonjour et Bienvenue,

    awk | wc -l est une aberration, je dirais même une abomination. Cela mérite même (tu commences fort )
    De plus, tu utiliserais awk correctement, tu résoudrais ton problème, exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $ wc -l fichier.txt 
    15 fichier.txt
    $ awk '/0.1/&&/5/' fichier.txt | wc -l
    2
    $ awk '/0.1/&&/5/{A++}END{print A}' fichier.txt 
    2
    $ awk '/0.1/&&/5/{A++}END{print ";;;;"A";;;;"}' fichier.txt 
    ;;;;2;;;;
    Cordialement.

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    octobre 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : octobre 2015
    Messages : 6
    Points : 4
    Points
    4

    Par défaut Extraire des données d'un fichier log pour les rediriger dans une cellule excel spécifique Awk

    Bonjour,
    je te remercie je vais essayer chaque ligne oui je suis un novice alors je débute par des bêtises
    Cordialement

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    octobre 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : octobre 2015
    Messages : 6
    Points : 4
    Points
    4

    Par défaut

    re-bonjour
    sur awk '/0.1/&&/5/{A++}END{print ";;;;"A";;;;"}' fichier.txt >test.csv peux tu me dire comment atteindre la ligne 5 colonne E du fichier csv stp

    Merci par avance

  5. #5
    Expert éminent Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    décembre 2012
    Messages
    2 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : décembre 2012
    Messages : 2 707
    Points : 7 506
    Points
    7 506

    Par défaut

    Ta demande n'est pas claire, tu as l'air de vouloir modifier un fichier csv déjà existant...
    Si c'est le cas, pose correctement ton problème et donne un exemple du genre, fichier.csv avant puis fichier.csv après.
    Cordialement.

  6. #6
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    octobre 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : octobre 2015
    Messages : 6
    Points : 4
    Points
    4

    Par défaut Extraire des données d'un fichier log pour les rediriger dans une cellule excel spécifique Awk

    Bonjour,
    dans mon début de script je récupère des données d'un log et les additionnes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    awk '/Aug /&&/bounced/' mail.log |wc -l
    resultat: 14415

    Ce résultat je souhaiterai le mettre dans un fichier csv colonne 5 ligne 2

  7. #7
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Ingénieur d'études décisionnel
    Inscrit en
    mai 2002
    Messages
    7 643
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur d'études décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : mai 2002
    Messages : 7 643
    Points : 23 438
    Points
    23 438

    Par défaut

    Posons la question autrement :
    Souhaites-tu modifier un fichier .csv existant ou créer un fichier .csv avec uniquement cette valeur dans la case annoncée ?
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  8. #8
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    octobre 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : octobre 2015
    Messages : 6
    Points : 4
    Points
    4

    Par défaut Extraire des données d'un fichier log pour les rediriger dans une cellule excel spécifique Awk

    Bonjour al1_24,
    je souhaite en créer un, avec un rajout de plusieurs informations dedans.
    Cordialement

  9. #9
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Ingénieur d'études décisionnel
    Inscrit en
    mai 2002
    Messages
    7 643
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur d'études décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : mai 2002
    Messages : 7 643
    Points : 23 438
    Points
    23 438

    Par défaut

    Continuons à avancer...
    Avec cette seule valeur ton fichier .csv serait de la forme :
    Quelles autres informations à ajouter dedans ?
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  10. #10
    Expert éminent Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    décembre 2012
    Messages
    2 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : décembre 2012
    Messages : 2 707
    Points : 7 506
    Points
    7 506

    Par défaut

    C'est vraiment trop vague ton besoin.
    Exemple, considérons que le séparateur de colonne dans ton csv est le point-virgule ";" .
    Ici, nous créons le fichier et je parle bien de créer le fichier pas de le modifier (donc si le fichier existe déjà, nous l'écrasons).
    Dans l'exemple ci-dessous, nous allons mettre le résultat sur la ligne 2 colonne 5 (en considérant que la numerotation des lignes et des colonnes commence à 1 et non pas 0).
    De plus, comme rien n'est précisé, je ne peux que considérer le cas le plus simple: nous n'avons que 2 lignes et 5 colonnes et que tous les champs sont vides sauf le champs ligne 2 colonne 5.
    Donc en reprenant l'exemple précédent, cela donne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    awk 'BEGIN{A=0}; /Aug /&&/bounced/{A++}; END{ print ";;;;" ; print ";;;;"A }' mail.log >fichier.csv
    Mais, ensuite, je ne vois pas trop comment tu vas remplir tes autres champs, puisque l'on vient de les remplir avec du vide...
    Cordialement.

  11. #11
    Membre émérite Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    septembre 2013
    Messages
    1 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : septembre 2013
    Messages : 1 130
    Points : 2 382
    Points
    2 382

    Par défaut

    oui, tu es en effet beaucoup trop vague sur ton fichier csv

    si tu as 36 valeurs, il faut peut être générer un modèle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ,,%errs%,%cout%,,,,
    ,,,,%total%,,
    puis utiliser un remplacer %key%
    $moi= ( !== ) ? : ;
    www.webstratege.fr

  12. #12
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    octobre 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : octobre 2015
    Messages : 6
    Points : 4
    Points
    4

    Par défaut Extraire des données d'un fichier log pour les rediriger dans une cellule excel spécifique Awk

    Bonjour,
    je vous remercie pour vos réponses je vais tester.
    je suis désolé si vous n'avez pas bien compris ce que je voulais dire, c'est comme si je voulais piocher des informations dans un log et mettre en forme style tableau xls dans un ficher csv.
    Cordialement

  13. #13
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    avril 2008
    Messages
    1 727
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : avril 2008
    Messages : 1 727
    Points : 4 628
    Points
    4 628

    Par défaut

    Citation Envoyé par karimm1 Voir le message
    mais c'est après que je galère je ne peux que mettre le résultat dans la première cellule avez vous une idée afin que je puisse choisir mes cellules.
    Citation Envoyé par karimm1 Voir le message
    peux tu me dire comment atteindre la ligne 5 colonne E du fichier csv stp
    Citation Envoyé par karimm1 Voir le message
    Ce résultat je souhaiterai le mettre dans un fichier csv colonne 5 ligne 2
    Citation Envoyé par karimm1 Voir le message
    je suis désolé si vous n'avez pas bien compris ce que je voulais dire, c'est comme si je voulais piocher des informations dans un log et mettre en forme style tableau xls dans un ficher csv.
    Un peu comme si tu partais d'un tableau que tu crées vide.
    Puis tu calcules un nombre 14415 que tu voudrais mettre à la colonne 5 ligne 2 dans le tableau.
    Puis tu calcules un autre nombre que tu voudrais mettre dans une autre case du tableau.
    C'est ça?

    En gros, tu cherches des accesseurs de tableau:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    value := calcul de la value
    mon_tableau.set(col, row, value)
    ou
    mon_tableau[col, row] :=  value)
    Un peu comme si tu voulais scripter Excel...

    C'est pas compliqué: il suffit de créer un fichier-tableau vide (avec plein de ';'), puis le lire en ram avec awk, en modifier une "cellule" et sauver le fichier...

    Petit challenge pour les awkers fous!

Discussions similaires

  1. Récuperer les données d'un fichier txt pour les insérer dans une Table
    Par sandokhane dans le forum Bases de données
    Réponses: 47
    Dernier message: 31/05/2014, 15h10
  2. Extraire des données d'un fichier Log (.dat)
    Par Zildijan dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 19/02/2013, 13h52
  3. Réponses: 2
    Dernier message: 12/05/2011, 10h16
  4. Réponses: 2
    Dernier message: 22/06/2008, 15h41
  5. Réponses: 2
    Dernier message: 10/09/2007, 16h40

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