Linux里面,例如一句 bw=1234.5KB/s 如何用cut(或者别的命令),截取出 数字 1234.5 啊?非常感谢!
2个回答
展开全部
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}'
追问
非常感谢啊~~~再问一下:比如有 12345 或者 abcdef 或者别的字符,怎么样只截取最后三位(上述的 345 或者 def) 啊?
追答
str="12345"
len=${#str} #得到字符串长度
echo ${str:len-3:3} #字符串截取, 格式为${字符串:起始位置:截取长度}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询