Bash

剝離 ping 命令的輸出?

  • May 29, 2019

我想好像可以從最後三行中刪除“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 什麼的?

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

要擺脫領先的換行符:

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

那個怎麼樣?

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'

^$ - 是刪除空行

引用自:https://unix.stackexchange.com/questions/521701