Resultats de commande ping avec date et heure

Résolu
Bonjour à tous,
ma question sera ultra simple sans doute pour des spécialistes de linux,
j'ai besoin d'envoyer un ping vers une ip et de récupérer le résultat dans un fichier.
Jusque là j'y arrive MAIs je voudrai qu'à la fin de chaque retour de la commande (64 bytes from .....) il y ai la date et l'heure. Mais mes connaissances en linux sont trop minces pour y arriver. Quelqu'un peut m'aider ?
MERCI !

7 réponses

  1. Contributeur
    chez moi
    $ ping www.google.com | awk '/64/ {"date" | getline date ; print $0, "\t\t" date ; close("date")}' > zz
    ^C$ cat zz
    64 bytes from mil01s16-in-f17.1e100.net (173.194.35.17): icmp_seq=1 ttl=56 time=21.5 ms 		Thu Mar 22 11:52:20 CET 2012
    64 bytes from mil01s16-in-f17.1e100.net (173.194.35.17): icmp_seq=2 ttl=56 time=17.9 ms 		Thu Mar 22 11:52:21 CET 2012
    64 bytes from mil01s16-in-f17.1e100.net (173.194.35.17): icmp_seq=3 ttl=56 time=18.9 ms 		Thu Mar 22 11:52:22 CET 2012
    64 bytes from mil01s16-in-f17.1e100.net (173.194.35.17): icmp_seq=4 ttl=56 time=18.4 ms 		Thu Mar 22 11:52:23 CET 2012
    64 bytes from mil01s16-in-f17.1e100.net (173.194.35.17): icmp_seq=5 ttl=56 time=17.2 ms 		Thu Mar 22 11:52:24 CET 2012
    ........
    1. Contributeur
      Salut,

      Idem chez moi ;-)

      @Redz : Quel système ? Quel shell ? etc.
    2. le shel est bash sous debian squid
  2. Contributeur
    hello
    $ ping -c 4 www.google.com | awk '/64/ {"date" | getline date ; print $0, "\t\t" date ; close("date")}'
    64 bytes from mil01s16-in-f20.1e100.net (173.194.35.20): icmp_seq=1 ttl=56 time=20.1 ms 		Thu Mar 22 10:45:38 CET 2012
    64 bytes from mil01s16-in-f20.1e100.net (173.194.35.20): icmp_seq=2 ttl=56 time=19.7 ms 		Thu Mar 22 10:45:39 CET 2012
    64 bytes from mil01s16-in-f20.1e100.net (173.194.35.20): icmp_seq=3 ttl=56 time=19.7 ms 		Thu Mar 22 10:45:40 CET 2012
    64 bytes from mil01s16-in-f20.1e100.net (173.194.35.20): icmp_seq=4 ttl=56 time=18.8 ms 		Thu Mar 22 10:45:41 CET 2012
    $  
    1. Merci ! Mais je voudrai que la commande fasse un test en continue, jusqu'a un ctrl-c. En enlevant l'option -c 4 ca ne fonctionne pas ...
      1. ça affiche les résultats a la suite normalement : 64 bytes from ....etc
        Mais si je lance ta commande sans le -c 4 et que je fais un ctrl-c au bout de qqes secondes le prompt réapparait, c'est tout. Pareil avec une redirection dans un fichier, le fichier est vide.
        1. Contributeur
          essaye avec :
          awk -W interactive
          1. Contributeur
            Bingo ;-))

            Je viens de tester sur Debian et effectivement sans le "-W interactive" l'affichage ne se fait pas.
          2. Contributeur
            ca dépend si awk est gawk ou le vieux mawk
          3. Contributeur
            $ awk -W version
            mawk 1.3.3 Nov 1996, Copyright (C) Michael D. Brennan
            
            compiled limits:
            max NF             32767
            sprintf buffer      2040
          4. Contributeur
            Par défaut sur Debian :
            $ readlink -f  /usr/bin/awk
            /usr/bin/mawk

            ;-(
        2. Un grand merci pour vos investigations conjointes !
          Ca fonctionne.
          D'ailleurs maintenant la date et l'heure sont corrects là où avant j'avais des dates figées et variables.