我怎样才能在没有任何前缀等情况下仅ping响应时间
我现在正在做什么,但是它返回time = 56.7,我只需要56.7
timeinms=$(ping -c 1 $ipaddress | grep 'time' | awk '{print $7}')
echo $timeinms
答案 0 :(得分:1)
使用GNU grep
的PCRE选项:
timeinms=$(ping -c 1 $ipaddress | grep -oP 'time=\K\S+')
在这里我们在一行中搜索time=
,如果找到了该行,则由于\K
指令而将匹配项重置,并打印文本直到下一个空格。
备用解决方案,使用sed
:
timeinms=$(ping -c 1 $ipaddress | sed -nE 's/.*time=([0-9.]+).*/\1/p')