我用来ping
检查网络的连接性。
我想要的只是收到的数据包数量。
例如,如果ping -c10 -q 8.8.8.8 | grep received
输出是:
10 packets transmitted, 5 received, 50% packet loss, time 9016ms
我只想在输出中看到数字 5,而不是在它之前或之后看到任何内容。
所以预期的输出是:5
答案1
您可以使用grep
with-P
选项来执行此操作:
grep -Po '\d+(?= received)'
您还可以使用awk
:
awk '$5 == "received,"{print $4}'