echo "bw=1234.5KB/s" | sed -r 's/[^0-9.]+//g'
不为数字且不为点号的字符都替换为空(去除)。
反之,用grep过滤出数字和点号也可以。
echo "bw=1234.5KB/s" | grep -oE "[0-9.]+"
awk也行:
echo "bw=1234.5KB/s" | awk -F"(=)|(KB)" '{print $2}'
echo "bw=1234.5KB/s" | sed s'/[a-zA-Z/=]//'g