GNU/Linux >> Tutoriels Linux >  >> Linux

extraire le temps moyen de ping -c

Une façon consiste simplement à ajouter une coupe à ce que vous avez là-bas.

ping -c 4 www.stackoverflow.com | tail -1| awk '{print $4}' | cut -d '/' -f 2

Cela pourrait fonctionner pour vous :

ping -c 4 www.stackoverflow.com | sed '$!d;s|.*/\([0-9.]*\)/.*|\1|'

La solution suivante utilise uniquement Bash (nécessite Bash 3) :

[[ $(ping -q -c 4 www.example.com) =~ \ =\ [^/]*/([0-9]+\.[0-9]+).*ms ]] \
&& echo ${BASH_REMATCH[1]}

Pour l'expression régulière, c'est plus facile à lire (et à manipuler) si elle est stockée dans une variable :

regex='= [^/]*/([0-9]+\.[0-9]+).*ms'
[[ $(ping -q -c 4 www.example.com) =~ $regex ]] && echo ${BASH_REMATCH[1]}

ping -c 4 www.stackoverflow.com | tail -1| awk -F '/' '{print $5}' fonctionnerait bien.

L'option "-F" est utilisée pour spécifier le séparateur de champs.


Linux
  1. extraire un seul fichier d'un énorme fichier tgz

  2. Ligne de commande :Extraire la sous-chaîne de la sortie

  3. Extraire les dates de /etc/shadow

  4. Ping et tcpdump en même temps

  5. extraire les lignes du bas jusqu'à ce que l'expression régulière corresponde

Erreur de ping de durée de vie dépassée

Comment extraire la durée de la sortie ffmpeg?

Comment extraire du texte avec OCR à partir d'un PDF sous Linux ?

Ping Linux :Afficher le délai d'attente

Comment mesurer le temps d'exécution moyen d'un script ?

Qu'est-ce qui empêche une machine de répondre aux pings ?