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 :

Découpage chaine dans un script


Sujet :

Shell et commandes GNU

  1. #21
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 89
    Points : 47
    Points
    47
    Par défaut
    Rien ne se passe vraiment, j'arrive juste à une invite de commande
    >

    Et rien de ne passe ensuite
    Ca devrait donner quoi ? lol

  2. #22
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 792
    Points : 1 206
    Points
    1 206
    Par défaut
    Quel OS? si Linux, quelle distro?
    :q :q! :wq :w :w! :wq! :quit :quit! :help help helpquit quit quithelp
    :quitplease :quitnow :leave :shit ^X^C ^C ^D ^Z ^Q QUITDAMMIT
    Jabber: ripat at im.apinc.org

  3. #23
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 89
    Points : 47
    Points
    47
    Par défaut
    je teste actuellement sur Fedora 9, à terme tout cela fonctionnera sur CentOS 5.4

  4. #24
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 89
    Points : 47
    Points
    47
    Par défaut
    sous CentOs, cela me répond cela :

    1275045846 2010-05-28

  5. #25
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 792
    Points : 1 206
    Points
    1 206
    Par défaut
    Citation Envoyé par fdthierry Voir le message
    sous CentOs, cela me répond cela :

    1275045846 2010-05-28
    Tu disposes donc bien d'une version GNU de awk et le code devrait fonctionner sur ton fichier.

    Que donne ceci?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gawk -F"[ :]" 'NR<=3{print $7,$2,$3,$4,$5,$6}' ton_fichier
    :q :q! :wq :w :w! :wq! :quit :quit! :help help helpquit quit quithelp
    :quitplease :quitnow :leave :shit ^X^C ^C ^D ^Z ^Q QUITDAMMIT
    Jabber: ripat at im.apinc.org

  6. #26
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 89
    Points : 47
    Points
    47
    Par défaut
    cela m'affiche 3 ligne sur la version Fedora.
    il devrait m'en afficher plus non ?
    J'en ai plus d'une dizaine de 2008.

  7. #27
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 792
    Points : 1 206
    Points
    1 206
    Par défaut
    Citation Envoyé par fdthierry Voir le message
    cela m'affiche 3 ligne sur la version Fedora.
    il devrait m'en afficher plus non ?
    J'en ai plus d'une dizaine de 2008.
    Non, NR<=3 pour les trois premières lignes du fichier. Quel est la sortie?
    :q :q! :wq :w :w! :wq! :quit :quit! :help help helpquit quit quithelp
    :quitplease :quitnow :leave :shit ^X^C ^C ^D ^Z ^Q QUITDAMMIT
    Jabber: ripat at im.apinc.org

  8. #28
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 89
    Points : 47
    Points
    47
    Par défaut
    Voici la sortie :
    59 JAn 3 15 48
    59 JAn 3 15 48
    59 JAn 3 15 48
    Merci
    J'ai tout de même essayé la commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gawk -f code.awk monfichier.log
    Mais cela ne m'affiche toujours rien sous Fedora.
    Je teste toute ma proécdure sur une VM Fedora avec un log de 500ko avant la prod sur CentOS avec 44Go lol

  9. #29
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 792
    Points : 1 206
    Points
    1 206
    Par défaut
    Curieux ton format de date JAn

    Que donne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    BEGIN {
    	FS="[ :]"
    	split("Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec", m, " ")
    	for (i=1; i<=12; i++) mnb[m[i]]=i
    	now=systime()
    }
     
    NR<=10 {print $7,">",mnb[$2],"<",$3,$4,$5,$6}
    A mettre dans un fichier awk et invoquer comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    awk -f fichier.awk ton_fichier
    :q :q! :wq :w :w! :wq! :quit :quit! :help help helpquit quit quithelp
    :quitplease :quitnow :leave :shit ^X^C ^C ^D ^Z ^Q QUITDAMMIT
    Jabber: ripat at im.apinc.org

  10. #30
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 89
    Points : 47
    Points
    47
    Par défaut
    Je vais tester cela dés lundi matin.
    Merci pour ton aide, je te tiens au courant.
    bon week-end

  11. #31
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 89
    Points : 47
    Points
    47
    Par défaut
    Bonjour,
    Voici la réponse du système :
    59 > 1 < 3 15 48
    59 > 1 < 3 15 48
    59 > 7 < 3 15 48
    59 > 7 < 3 15 48
    59 > 7 < 3 15 48
    59 > 7 < 3 15 48
    59 > 7 < 3 15 48
    59 > 7 < 3 15 48
    59 > 7 < 3 15 48
    59 > 7 < 3 15 48
    Merci

  12. #32
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 792
    Points : 1 206
    Points
    1 206
    Par défaut
    Je vois. Tu as un décalage dans les champs. Probablement à cause d'un double espace avant le bloc HH:MM:SS. Change cette ligne dans le bloc BEGIN:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    # changer ceci
    FS="[ :]"
     
    # par
    FS="[ :]+"
    :q :q! :wq :w :w! :wq! :quit :quit! :help help helpquit quit quithelp
    :quitplease :quitnow :leave :shit ^X^C ^C ^D ^Z ^Q QUITDAMMIT
    Jabber: ripat at im.apinc.org

  13. #33
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 89
    Points : 47
    Points
    47
    Par défaut
    Bonjour,
    J'ai ceci maintenant :
    2008 > 1 < 3 15 48 59
    2008 > 1 < 3 15 48 59
    2008 > 7 < 3 15 48 59
    2008 > 7 < 3 15 48 59
    2008 > 7 < 3 15 48 59
    2008 > 7 < 3 15 48 59
    2008 > 7 < 3 15 48 59
    2008 > 7 < 3 15 48 59
    2008 > 7 < 3 15 48 59
    2008 > 7 < 3 15 48 59

    Je tente de l'intégrer dans mon script d'élagage

  14. #34
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 89
    Points : 47
    Points
    47
    Par défaut
    Quand je tente ce code awk :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    # initialisation des variables
    BEGIN {
            FS="[ :]+"
            split("Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec", m, " ")
            for (i=1; i<=12; i++) mnb[m[i]]=i
            now=systime()
    }
     
    echo now
     
    # impression des lignes de moins de 365 jours
    now-mktime($7" "mnb[$2]" "$3" "$4" "$5" "$6)<31536000 {print}
    cela m'affiche toutes les lignes de mon fichier

    je l'appelle comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    awk -f code.awk monfichier.log
    Je ne veux pas supprimer tout le contenu de mon fichier, mais un morceau

  15. #35
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 89
    Points : 47
    Points
    47
    Par défaut
    j'ai fait quelques tests pour comprendre pourquoi toutes les lignes s'affichent :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
            now=systime()
            ref=mktime("2008 5 3 15 25 10")
            delta=now-ref
            print "Heure système en sec : "now
            print "Heure calculée en sec : "ref
            print "Différence en sec : "delta
    Alors que dans la dernière ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    # impression des lignes de moins de 365 jours
    now-mktime($7" "mnb[$2]" "$3" "$4" "$5" "$6)<31536000 {print}
    La construction de mktime renvoie -1 donc inférieur à 31536000 (logique)

    Comment ajouter les guillements avant $7 et après $6 comme dans mon test ci dessus ?
    Merci

  16. #36
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 792
    Points : 1 206
    Points
    1 206
    Par défaut
    Difficile de travailler sans un extrait du fichier réel mais si mktime() te renvoie -1 c'est qu'il lui manque un paramètre.

    Pourrais-tu attacher un extrait de fichier réel? Je regarderai ça demain après-midi.

    En attendant tu pourrais faire un essai avec:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mktime(sprintf ("%s %s %s %s %s %s", $7, mnb[$2], $3, $4, $5, $6))
    :q :q! :wq :w :w! :wq! :quit :quit! :help help helpquit quit quithelp
    :quitplease :quitnow :leave :shit ^X^C ^C ^D ^Z ^Q QUITDAMMIT
    Jabber: ripat at im.apinc.org

  17. #37
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 89
    Points : 47
    Points
    47
    Par défaut
    Voici le contenu de mon fichier log de test :
    Thu Jan 3 15:48:59 2008 $RCSfile: insert.pl,v $ $Revision: 1.25 $ debug - nagiosgraph spawned
    Thu Jan 3 15:48:59 2008 $RCSfile: insert.pl,v $ $Revision: 1.25 $ debug - processing perfdata: $||AA2||PING||$||$
    Thu Jul 3 15:48:59 2008 $RCSfile: insert.pl,v $ $Revision: 1.25 $ info - Input lastcheck:$
    Thu Jul 3 15:48:59 2008 $RCSfile: insert.pl,v $ $Revision: 1.25 $ info - Input hostname:AA2
    Thu Jul 3 15:48:59 2008 $RCSfile: insert.pl,v $ $Revision: 1.25 $ info - Input servicedescrING
    Thu Jul 3 15:48:59 2008 $RCSfile: insert.pl,v $ $Revision: 1.25 $ info - Input output:$
    Thu Jul 3 15:48:59 2008 $RCSfile: insert.pl,v $ $Revision: 1.25 $ warn - perfdata not recognized
    Thu Jul 3 15:48:59 2008 $RCSfile: insert.pl,v $ $Revision: 1.25 $ debug - nagiosgraph exited
    Thu Jul 3 15:48:59 2008 $RCSfile: insert.pl,v $ $Revision: 1.25 $ debug - nagiosgraph spawned
    Thu Jul 3 15:48:59 2008 $RCSfile: insert.pl,v $ $Revision: 1.25 $ debug - processing perfdata: $||AA4||PING||$||$
    Thu Jul 3 15:48:59 2008 $RCSfile: insert.pl,v $ $Revision: 1.25 $ info - Input lastcheck:$
    Thu Jul 3 15:48:59 2008 $RCSfile: insert.pl,v $ $Revision: 1.25 $ info - Input hostname:AA4
    Thu Jul 3 15:48:59 2008 $RCSfile: insert.pl,v $ $Revision: 1.25 $ info - Input servicedescrING
    Thu Jul 3 15:48:59 2008 $RCSfile: insert.pl,v $ $Revision: 1.25 $ info - Input output:$
    Thu Jul 3 15:48:59 2008 $RCSfile: insert.pl,v $ $Revision: 1.25 $ warn - perfdata not recognized
    Thu Jul 3 15:48:59 2008 $RCSfile: insert.pl,v $ $Revision: 1.25 $ debug - nagiosgraph exited
    Thu Jul 3 15:48:59 2008 $RCSfile: insert.pl,v $ $Revision: 1.25 $ debug - nagiosgraph spawned
    Thu Jul 3 15:48:59 2008 $RCSfile: insert.pl,v $ $Revision: 1.25 $ debug - processing perfdata: $||WF-6B2-5T2||PING||$||$
    Thu Jul 3 15:48:59 2008 $RCSfile: insert.pl,v $ $Revision: 1.25 $ info - Input lastcheck:$
    Thu Jul 3 15:48:59 2008 $RCSfile: insert.pl,v $ $Revision: 1.25 $ info - Input hostname:WF-6B2-5T2
    Thu Jul 3 15:48:59 2008 $RCSfile: insert.pl,v $ $Revision: 1.25 $ info - Input servicedescrING
    Thu Jul 3 15:48:59 2008 $RCSfile: insert.pl,v $ $Revision: 1.25 $ info - Input output:$
    Thu Jul 3 15:48:59 2008 $RCSfile: insert.pl,v $ $Revision: 1.25 $ warn - perfdata not recognized
    Thu Jul 3 15:48:59 2008 $RCSfile: insert.pl,v $ $Revision: 1.25 $ debug - nagiosgraph exited
    Thu Jul 3 15:48:59 2008 $RCSfile: insert.pl,v $ $Revision: 1.25 $ debug - nagiosgraph spawned
    Thu Jul 3 15:48:59 2008 $RCSfile: insert.pl,v $ $Revision: 1.25 $ debug - processing perfdata: $||WF-4B1-5T2||PING||$||$
    Thu Jul 3 15:48:59 2008 $RCSfile: insert.pl,v $ $Revision: 1.25 $ info - Input lastcheck:$
    Thu Jul 3 15:48:59 2008 $RCSfile: insert.pl,v $ $Revision: 1.25 $ info - Input hostname:WF-4B1-5T2
    Thu Jul 3 15:48:59 2008 $RCSfile: insert.pl,v $ $Revision: 1.25 $ info - Input servicedescrING
    Thu Jul 3 15:48:59 2008 $RCSfile: insert.pl,v $ $Revision: 1.25 $ info - Input output:$
    Thu Jul 3 15:48:59 2008 $RCSfile: insert.pl,v $ $Revision: 1.25 $ warn - perfdata not recognized
    Thu Jul 3 15:48:59 2008 $RCSfile: insert.pl,v $ $Revision: 1.25 $ debug - nagiosgraph spawned
    Thu Jan 3 15:48:59 2009 $RCSfile: insert.pl,v $ $Revision: 1.25 $ debug - processing perfdata: $||AA2||PING||$||$
    Thu Feb 3 15:48:59 2009 $RCSfile: insert.pl,v $ $Revision: 1.25 $ info - Input lastcheck:$
    Thu Mar 3 15:48:59 2009 $RCSfile: insert.pl,v $ $Revision: 1.25 $ info - Input hostname:AA2
    Thu May 3 15:48:59 2009 $RCSfile: insert.pl,v $ $Revision: 1.25 $ info - Input servicedescrING
    Thu May 3 15:48:59 2009 $RCSfile: insert.pl,v $ $Revision: 1.25 $ info - Input output:$
    Thu May 3 15:48:59 2009 $RCSfile: insert.pl,v $ $Revision: 1.25 $ warn - perfdata not recognized
    Thu May 23 15:48:59 2009 $RCSfile: insert.pl,v $ $Revision: 1.25 $ debug - nagiosgraph exited
    Thu Jul 3 15:48:59 2009 $RCSfile: insert.pl,v $ $Revision: 1.25 $ debug - nagiosgraph spawned
    Thu Jul 3 15:48:59 2009 $RCSfile: insert.pl,v $ $Revision: 1.25 $ debug - processing perfdata: $||AA4||PING||$||$
    Thu Jul 3 15:48:59 2009 $RCSfile: insert.pl,v $ $Revision: 1.25 $ info - Input lastcheck:$
    Thu Jul 3 15:48:59 2009 $RCSfile: insert.pl,v $ $Revision: 1.25 $ info - Input hostname:AA4
    Thu Jul 3 15:48:59 2009 $RCSfile: insert.pl,v $ $Revision: 1.25 $ info - Input servicedescrING
    Thu Jul 3 15:48:59 2009 $RCSfile: insert.pl,v $ $Revision: 1.25 $ info - Input output:$
    Thu Jul 3 15:48:59 2009 $RCSfile: insert.pl,v $ $Revision: 1.25 $ warn - perfdata not recognized
    Thu Jul 3 15:48:59 2009 $RCSfile: insert.pl,v $ $Revision: 1.25 $ debug - nagiosgraph exited
    Thu Jul 3 15:48:59 2009 $RCSfile: insert.pl,v $ $Revision: 1.25 $ debug - nagiosgraph spawned
    Thu Jul 3 15:48:59 2009 $RCSfile: insert.pl,v $ $Revision: 1.25 $ debug - processing perfdata: $||WF-6B2-5T2||PING||$||$
    Thu Jul 3 15:48:59 2009 $RCSfile: insert.pl,v $ $Revision: 1.25 $ info - Input lastcheck:$
    Thu Jul 3 15:48:59 2009 $RCSfile: insert.pl,v $ $Revision: 1.25 $ info - Input hostname:WF-6B2-5T2
    Thu Jul 3 15:48:59 2009 $RCSfile: insert.pl,v $ $Revision: 1.25 $ info - Input servicedescrING
    Thu Jul 3 15:48:59 2009 $RCSfile: insert.pl,v $ $Revision: 1.25 $ info - Input output:$
    Thu Jul 3 15:48:59 2009 $RCSfile: insert.pl,v $ $Revision: 1.25 $ warn - perfdata not recognized
    Thu Jul 3 15:48:59 2009 $RCSfile: insert.pl,v $ $Revision: 1.25 $ debug - nagiosgraph exited
    Thu Jul 3 15:48:59 2009 $RCSfile: insert.pl,v $ $Revision: 1.25 $ debug - nagiosgraph spawned
    Thu Jul 3 15:48:59 2009 $RCSfile: insert.pl,v $ $Revision: 1.25 $ debug - processing perfdata: $||WF-4B1-5T2||PING||$||$
    Thu Jul 3 15:48:59 2009 $RCSfile: insert.pl,v $ $Revision: 1.25 $ info - Input lastcheck:$
    Thu Jul 3 15:48:59 2009 $RCSfile: insert.pl,v $ $Revision: 1.25 $ info - Input hostname:WF-4B1-5T2
    Thu Jul 3 15:48:59 2009 $RCSfile: insert.pl,v $ $Revision: 1.25 $ info - Input servicedescrING
    Thu Jul 3 15:48:59 2009 $RCSfile: insert.pl,v $ $Revision: 1.25 $ info - Input output:$
    Thu Jul 3 15:48:59 2009 $RCSfile: insert.pl,v $ $Revision: 1.25 $ warn - perfdata not recognized
    Thu Jul 3 15:48:59 2009 $RCSfile: insert.pl,v $ $Revision: 1.25 $ debug - processing perfdata: $||AA2||PING||$||$
    Thu Jul 3 15:48:59 2009 $RCSfile: insert.pl,v $ $Revision: 1.25 $ info - Input lastcheck:$
    Thu Jul 3 15:48:59 2009 $RCSfile: insert.pl,v $ $Revision: 1.25 $ info - Input hostname:AA2
    Thu Jul 3 15:48:59 2009 $RCSfile: insert.pl,v $ $Revision: 1.25 $ info - Input servicedescrING
    Thu Jul 3 15:48:59 2009 $RCSfile: insert.pl,v $ $Revision: 1.25 $ info - Input output:$
    Thu Jul 3 15:48:59 2009 $RCSfile: insert.pl,v $ $Revision: 1.25 $ warn - perfdata not recognized
    Thu Jul 3 15:48:59 2009 $RCSfile: insert.pl,v $ $Revision: 1.25 $ debug - nagiosgraph exited
    Thu May 3 15:48:59 $RCSfile: insert.pl,v $ $Revision: 1.25 $ debug - nagiosgraph spawned
    Thu May 3 15:48:59 $RCSfile: insert.pl,v $ $Revision: 1.25 $ debug - processing perfdata: $||AA4||PING||$||$
    Thu May 3 15:48:59 $RCSfile: insert.pl,v $ $Revision: 1.25 $ info - Input lastcheck:$
    Thu May 3 15:48:59 $RCSfile: insert.pl,v $ $Revision: 1.25 $ info - Input hostname:AA4
    Thu May 3 15:48:59 $RCSfile: insert.pl,v $ $Revision: 1.25 $ info - Input servicedescrING
    Thu May 3 15:48:59 $RCSfile: insert.pl,v $ $Revision: 1.25 $ info - Input output:$
    Thu May 3 15:48:59 $RCSfile: insert.pl,v $ $Revision: 1.25 $ warn - perfdata not recognized
    Thu May 3 15:48:59 $RCSfile: insert.pl,v $ $Revision: 1.25 $ debug - nagiosgraph exited
    Thu May 3 15:48:59 $RCSfile: insert.pl,v $ $Revision: 1.25 $ debug - nagiosgraph spawned
    Thu May 3 15:48:59 $RCSfile: insert.pl,v $ $Revision: 1.25 $ debug - processing perfdata: $||WF-6B2-5T2||PING||$||$
    Thu May 3 15:48:59 $RCSfile: insert.pl,v $ $Revision: 1.25 $ info - Input lastcheck:$
    Thu May 3 15:48:59 $RCSfile: insert.pl,v $ $Revision: 1.25 $ info - Input hostname:WF-6B2-5T2
    Thu May 3 15:48:59 $RCSfile: insert.pl,v $ $Revision: 1.25 $ info - Input servicedescrING
    Thu May 3 15:48:59 $RCSfile: insert.pl,v $ $Revision: 1.25 $ info - Input output:$
    Thu May 3 15:48:59 $RCSfile: insert.pl,v $ $Revision: 1.25 $ warn - perfdata not recognized
    Thu May 3 15:48:59 $RCSfile: insert.pl,v $ $Revision: 1.25 $ debug - nagiosgraph exited
    Thu May 3 15:48:59 $RCSfile: insert.pl,v $ $Revision: 1.25 $ debug - nagiosgraph spawned
    Thu May 3 15:48:59 $RCSfile: insert.pl,v $ $Revision: 1.25 $ debug - processing perfdata: $||WF-4B1-5T2||PING||$||$
    Thu May 3 15:48:59 $RCSfile: insert.pl,v $ $Revision: 1.25 $ info - Input lastcheck:$
    Thu May 3 15:48:59 $RCSfile: insert.pl,v $ $Revision: 1.25 $ info - Input hostname:WF-4B1-5T2
    Thu May 3 15:48:59 $RCSfile: insert.pl,v $ $Revision: 1.25 $ info - Input servicedescrING
    Thu May 3 15:48:59 $RCSfile: insert.pl,v $ $Revision: 1.25 $ info - Input output:$
    Thu May 3 15:48:59 $RCSfile: insert.pl,v $ $Revision: 1.25 $ warn - perfdata not recognized
    J'ai essayé ton code, mais cela me retourne -1.
    Je l'ai placé avant la dernière accolade avec print devant.
    Si je le mets après l'accolade, j'ai une erreur de syntaxe retourné par le système :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    # awk -f code.awk monfichier.log
    awk: code.awk:14: print mktime(sprintf ("%s %s %s %s %s %s", $7, mnb[$2], $3, $4, $5, $6))
    awk: code.awk:14: ^ syntax error
    Merci encore.

    PS : Dans mon extrait, les : P sont remplacés par lol, pas très important dans ma recherche, mais pour info

  18. #38
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 792
    Points : 1 206
    Points
    1 206
    Par défaut
    Ça marche chez moi avec cet exemple mais il me faudrait le fichier original ou un extrait que tu peux joindre à ton message comme pièce attachée.(le trombone à côté du smiley dans le fenêtre d'édition de message). Le forum fait un formatage qui peut masquer certains problèmes. Donc pas de copier/coller. Fais un head ou tail du fichier original vers un autre fichier. si tu préfères sélectionner des lignes au milieu de ton fichier tu peux faire un:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    awk 'NR==1000{exit};NR>500 && NR<1000' ton_fichier > fichier_out
    Comme ton fichier de départ est gigantesque je t'ai mis une condition de sortie supplémentaire pour accélérer l'extraction.

    Je remarque aussi que le bloc YYYY manque dans les dernières lignes.
    :q :q! :wq :w :w! :wq! :quit :quit! :help help helpquit quit quithelp
    :quitplease :quitnow :leave :shit ^X^C ^C ^D ^Z ^Q QUITDAMMIT
    Jabber: ripat at im.apinc.org

  19. #39
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 89
    Points : 47
    Points
    47
    Par défaut
    Je t'ai mis le fichier log (en .txt) en pj.

    La commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    awk 'NR>500 && NR<1000' ton_fichier > fichier_out
    me retourne un fichier vide.

    Certaines lignes n'ont pas l'argument YYYY car cela implique l'année en cours, j'ai pris plusieurs cas de figure volontairement comme dans mon fichier log original.
    C'est le fichier log de nagiosgraph.
    Fichiers attachés Fichiers attachés

  20. #40
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 792
    Points : 1 206
    Points
    1 206
    Par défaut
    Sur ton fichier joint:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    # initialisation des variables
    BEGIN {
            FS="[ :]+"
            split("Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec", m, " ")
            for (i=1; i<=12; i++) mnb[m[i]]=i
            now=systime()
    }
     
    # impression des lignes de moins de 365 jours
    now-mktime($7" "mnb[$2]" "$3" "$4" "$5" "$6)<31536000 {print}
    # pour les lignes sans bloc YYYY (2010) --> print
    $7~/[:alpha:]/{print}
    Ce code me sort toutes les lignes 2009 et 2010 (celles sans YYYY).

    Quelle version de awk utilises-tu (awk --version ou quelque chose d'approchant)?
    :q :q! :wq :w :w! :wq! :quit :quit! :help help helpquit quit quithelp
    :quitplease :quitnow :leave :shit ^X^C ^C ^D ^Z ^Q QUITDAMMIT
    Jabber: ripat at im.apinc.org

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 3 PremièrePremière 123 DernièreDernière

Discussions similaires

  1. chaine </script> dans mon script js
    Par Jérémy Lefevre dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 26/06/2008, 15h26
  2. Découpage chaine et Insertion dans table
    Par star dans le forum SQL
    Réponses: 1
    Dernier message: 09/04/2008, 12h02
  3. Réponses: 21
    Dernier message: 29/09/2005, 19h33
  4. Réponses: 23
    Dernier message: 16/11/2002, 19h41
  5. Réponses: 2
    Dernier message: 10/07/2002, 11h51

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