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