Удалить вывод команды ping?

Удалить вывод команды ping?

Я хотел бы узнать, возможно ли извлечь результат команды «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'

^$ - удалить пустые строки

Связанный контент