GNU/Linux >> Linux の 問題 >  >> Ubuntu

ターミナルから値を抽出しますか?

この質問にはすでに回答があります :pingの時間をキャッチするawkスクリプトの書き方

(2つの回答)
3年前に閉鎖されました。

sedを使用してpingを実行するときに、時間の値のみを抽出するためのサポートが必要です。

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

したがって、sedを使用した後、次の出力を取得したいと思います。

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

ありがとうございます!

承認された回答:

sedを使用 あなたができること:

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

これは、time=の後に最も長い非スペースを探すだけです。 、かっこを使用してキャプチャするため、後で\1と呼ぶことができます。 そして、ライン上のすべてのものをキャプチャされたものに置き換えるだけです。 -n (デフォルトでは印刷しない)/pと一緒に (これが機能した場合は印刷)置換演算子の最後に、関連する行のみを印刷するようにします。

sedは使用しません ただし、この場合、他のツールの方が簡単です。例:

  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. PDFからグラフを抽出しますか?

  2. Ubuntu –特定のインターフェースからのpingに問題がありますか?

  3. ping -c から平均時間を抽出する

  1. ターミナルからUbuntuから即座にログアウトする方法

  2. Dockerイメージからファイルを抽出しますか?

  3. Linux ターミナルから Windows マシンをシャットダウンする

  1. Nautilusの任意のターミナルアプリでフォルダを開く

  2. ターミナルからFirefoxを設定する方法は?

  3. ターミナルからモバイルブロードバンドを有効/無効にする方法は?