我想好像可以从最后三行中删除“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'
^$ - 是删除空行