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

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

1 つの方法は、そこにあるものにカットを追加することです。

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

これはあなたのために働くかもしれません:

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

次のソリューションでは、Bash のみを使用します (Bash 3 が必要です):

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

正規表現については、変数に格納すると読み取り (および処理) が容易になります:

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}'

「-F」オプションは、フィールド区切りを指定するために使用されます。


Linux
  1. 巨大な tgz ファイルから単一のファイルを抽出する

  2. コマンド ライン:出力から部分文字列を抽出する

  3. マシンが ping に応答しない原因は何ですか?

  1. ping と tcpdump を同時に行う

  2. 正規表現が一致するまで下から行を抽出します

  3. パスの bash 配列から不足しているパスを抽出する

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

  2. ファイル内から単一のバイト チャンクを抽出するにはどうすればよいですか?

  3. ffmpeg出力から継続時間を抽出するには?