1 つの方法は、そこにあるものにカットを追加することです。
ping -c 4 www.stackoverflow.com | tail -1| awk '{print $4}' | cut -d '/' -f 2
これはあなたのために働くかもしれません:
ping -c 4 www.stackoverflow.com | sed '$!d;s|.*/\([0-9.]*\)/.*|\1|'
次のソリューションでは、Bash のみを使用します (Bash 3 が必要です):
[[ $(ping -q -c 4 www.example.com) =~ \ =\ [^/]*/([0-9]+\.[0-9]+).*ms ]] \
&& echo ${BASH_REMATCH[1]}
正規表現については、変数に格納すると読み取り (および処理) が容易になります:
regex='= [^/]*/([0-9]+\.[0-9]+).*ms'
[[ $(ping -q -c 4 www.example.com) =~ $regex ]] && echo ${BASH_REMATCH[1]}
ping -c 4 www.stackoverflow.com | tail -1| awk -F '/' '{print $5}'
「-F」オプションは、フィールド区切りを指定するために使用されます。