GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Extraire les valeurs du terminal ?

Cette question a déjà des réponses ici :Comment écrire un script awk qui attrape le temps de ping

(2 réponses)
Fermé il y a 3 ans.

J'ai besoin d'aide pour extraire uniquement la valeur de l'heure lors du ping à l'aide de sed.

ping 192.168.1.1
PING 192.168.1.11 (192.168.1.11) 56(84) bytes of data.
64 bytes from 192.168.1.11: icmp_seq=1 ttl=64 time=0.028 ms
64 bytes from 192.168.1.11: icmp_seq=2 ttl=64 time=0.027 ms
64 bytes from 192.168.1.11: icmp_seq=3 ttl=64 time=0.024 ms
64 bytes from 192.168.1.11: icmp_seq=4 ttl=64 time=0.031 ms

Ainsi, après avoir utilisé sed, j'aimerais obtenir le résultat suivant :

ping 192.168.1.1 | sed '???'
0.028
0.027
0.024
0.031

Merci !

Réponse acceptée :

Avec sed vous pouvez faire :

ping 192.168.1.1 | sed -n 's/.*time=\([^ ]*\).*/\1/p'

Cela recherche simplement la plus longue étendue de non-espace après time= , utilise des parenthèses pour le capturer afin que nous puissions plus tard nous y référer en tant que \1 et remplace simplement tout sur la ligne avec tout ce qui a été capturé. Le -n (ne pas imprimer par défaut) avec le /p (imprimer si cela a fonctionné) à la fin de l'opérateur de substitution assurez-vous que nous n'imprimons que les lignes pertinentes.

Je n'utiliserais pas sed pour cela cependant, d'autres outils sont plus simples ici. Par exemple :

  1. grep

    ping 192.168.1.1 | grep -Po 'time=\K\S+'
    
  2. Perle

    ping 192.168.1.1 | perl -lne '/time=(\S+)/ && print $1'
    
  3. ok

    ping 192.168.1.1 | awk -F'[= ]' '/time=/{print $(NF-1)}'
    

Ubuntu
  1. Comment se déconnecter instantanément d'Ubuntu à partir d'un terminal

  2. Extraire le fichier de l'image Docker ?

  3. Extraire des graphiques à partir de PDF ?

  4. Ubuntu - Problème de ping à partir d'une interface spécifique ?

  5. extraire le temps moyen de ping -c

Génération de nombres aléatoires à partir du terminal Linux

Comment redémarrer Ubuntu à partir du terminal

Contrôler la luminosité de l'écran à partir du terminal Ubuntu

2 façons de mettre à niveau d'Ubuntu 16.10 vers Ubuntu 17.04 (graphique et terminal)

2 façons de mettre à niveau d'Ubuntu 18.04 vers 18.10 (interface graphique et terminal)

Comment supprimer le son d'erreur du terminal Pycharm ?