ping コマンドの出力を削除しますか?

ping コマンドの出力を削除しますか?

常に次の最後の 3 行から 'ping' コマンドの結果を削除できるとよいと思います。

--- domain.com ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 3.837/4.501/4.839/0.469 ms 

ping でこの行が表示されないようにすることは可能でしょうか?

私は次のことを試しました:

ping -c2 domain.com | xargs grep -v "statistics \|transmitted\|round-trip"

そしてまた:

ping -c2 domain.com | grep -v "statistics \|transmitted\|round-trip"

しかし、動作していないようです。これは Mac でのみテストされています。Linux ではテストされていません。

それで、これを何とか動作させることが可能かどうか疑問に思いました。awk か何かを使ってでしょうか?

答え1

ping -c2 domain.com | head -n-3

先頭の改行も削除するには:

ping -c2 domain.com | head -n-4

答え2

どのようにそのことについて?

ping -c 2 domain.com | grep -E "PING|icmp_seq"

または、最初の行が不要な場合は

ping -c 2 domain.com | grep -E "icmp_seq"

または本当に行を削除したい場合

ping -c 2 domain.com | sed '/statistics\|packets\|rtt\|^$/d'

^$ - 空行を削除します

関連情報