GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Estrarre valori dal terminale?

Questa domanda ha già risposte qui :Come scrivere uno script awk che catturi il tempo del ping

(2 risposte)
Chiuso 3 anni fa.

Ho bisogno di aiuto per estrarre solo il valore del tempo durante il ping con 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

Quindi, dopo aver usato sed, vorrei ottenere il seguente output:

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

Grazie!

Risposta accettata:

Con sed puoi fare:

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

Questo cerca semplicemente il tratto di non spazio più lungo dopo time= , usa le parentesi per catturarlo in modo da poterlo chiamare in seguito \1 e sostituisce semplicemente tutto sulla linea con tutto ciò che è stato catturato. Il -n (non stampare per impostazione predefinita) insieme a /p (stampa se ha funzionato) alla fine dell'operatore di sostituzione assicurati di stampare solo le righe pertinenti.

Non userei sed per questo però, altri strumenti sono più semplici qui. Ad esempio:

  1. grep

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

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

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

Ubuntu
  1. Come disconnettersi istantaneamente da Ubuntu da un terminale

  2. Estrarre il file dall'immagine Docker?

  3. Estrarre grafici da PDF?

  4. Come configurare Firefox dal terminale?

  5. Spegni la macchina Windows dal terminale Linux

Generazione di numeri casuali dal terminale Linux

Come riavviare Ubuntu dal terminale

Controlla la luminosità dello schermo dal terminale di Ubuntu

2 modi per eseguire l'aggiornamento da Ubuntu 16.10 a Ubuntu 17.04 (grafica e terminale)

2 modi per eseguire l'aggiornamento da Ubuntu 18.04 a 18.10 (GUI e terminale)

Come rimuovere il suono di errore dal terminale Pycharm?