cutコマンドを使用してping時間を表示する

cutコマンドを使用してping時間を表示する
64 bytes from 8.8.8.8: icmp_seq=1 ttl=52 time=1.04 ms

上から私のIPアドレスをpingしました。以下のようにcutコマンドまたは他のコマンドを使用して時間をミリ秒単位で表示するにはどうすればよいですか?

time=1.04 ms

答え1

そしてcut

echo "64 bytes from 8.8.8.8: icmp_seq=1 ttl=52 time=1.04 ms" | cut -d' ' -f7
time=1.04

からping

ping google.com | cut -d ' ' -f8

time=19.8
time=20.6
time=20.1
time=19.10

答え2

1つのオプションは、次のものを使用することですawk

$ ping localhost | awk '{ print $7, $8 }'

time=0.037 ms
time=0.113 ms
time=0.085 ms
time=0.070 ms
time=0.060 ms
time=0.055 ms
time=0.046 ms
time=0.072 ms

awkここでは、7番目と8番目のスペースで区切られた列の内容を印刷するために使用しています。次の行の先頭には空行があります。

PING localhost (127.0.0.1): 56 data bytes

7番目または8番目の列はありません。 pingに他の列(たとえばttl)がある場合は、列番号を7と8から8と9に調整する必要があります。

関連情報