Renseignement sur awk
Résolu
guitou429
Messages postés
198
Statut
Membre
-
bob031 Messages postés 8228 Statut Membre -
bob031 Messages postés 8228 Statut Membre -
Bonjour tout le monde,
Je voudrais savoir ce que signifie la ligne suivante exactement :
count1=$(ping -c 4 192.168.1.10 | grep 'received' | awk -F',' '{ print $2 }' | awk '{ print $1 }')
D'après ce que je comprend :
On effectue une requete ping de l'adresse 192.168.1.10 et on analyse les 4 premieres lignes de la reponse.
On compte le nmbre de fois où on trouve le mot 'received'.
Mais que signifie la fin : | awk -F',' '{ print $2 }' | awk '{ print $1 }'
Je vous remercie pour vos futures explications !
Je voudrais savoir ce que signifie la ligne suivante exactement :
count1=$(ping -c 4 192.168.1.10 | grep 'received' | awk -F',' '{ print $2 }' | awk '{ print $1 }')
D'après ce que je comprend :
On effectue une requete ping de l'adresse 192.168.1.10 et on analyse les 4 premieres lignes de la reponse.
On compte le nmbre de fois où on trouve le mot 'received'.
Mais que signifie la fin : | awk -F',' '{ print $2 }' | awk '{ print $1 }'
Je vous remercie pour vos futures explications !
2 réponses
Salut,
awk -F',' '{ print $2 }'
En indiquant que le délimiteur de chanps sera la virgule (-F',')
on demande d'afficher le second champ ($2)
awk '{ print $1 }')
Avec le délimiteur par défaut (espace ou tabulation), on affiche le 1er champ ($1);-))
Bonjour,
ping -c 4 = on lance 4 ping ..........................."et pi c'est tout"
grep 'received' = on filtre les résultats du ping avec le mot "received"
puis on traîte, avec awk, les lignes filtrées, en récupérant le champs 2 qui est retraîté à nouveau par awk pour récupérer le champs 1 !
faut pas hésiter à tester soit-même pour comprendre .....
ping -c 4 = on lance 4 ping ..........................."et pi c'est tout"
grep 'received' = on filtre les résultats du ping avec le mot "received"
puis on traîte, avec awk, les lignes filtrées, en récupérant le champs 2 qui est retraîté à nouveau par awk pour récupérer le champs 1 !
> redfox@mandriva[192.168.1.2]:~/Desktop$ ping -c 4 192.168.1.1
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.788 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=0.788 ms
64 bytes from 192.168.1.1: icmp_seq=3 ttl=64 time=0.760 ms
64 bytes from 192.168.1.1: icmp_seq=4 ttl=64 time=0.788 ms
--- 192.168.1.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3000ms
rtt min/avg/max/mdev = 0.760/0.781/0.788/0.012 ms
> redfox@mandriva[192.168.1.2]:~/Desktop$ ping -c 4 192.168.1.1 | grep 'received'
4 packets transmitted, 4 received, 0% packet loss, time 3000ms
> redfox@mandriva[192.168.1.2]:~/Desktop$
> redfox@mandriva[192.168.1.2]:~/Desktop$ ping -c 4 192.168.1.1 | grep 'received' | awk -F',' '{ print $2 }'
4 received
> redfox@mandriva[192.168.1.2]:~/Desktop$ ping -c 4 192.168.1.1 | grep 'received' | awk -F',' '{ print $2 }' | awk '{ print $1 }'
4
> redfox@mandriva[192.168.1.2]:~/Desktop$
faut pas hésiter à tester soit-même pour comprendre .....
tes explications sont plus précises !
merci.
:-)