从字符串中删除非数字和奇怪的字符

时间:2014-12-28 18:10:59

标签: bash

我有这个温度

-4.7C

我想只用 - 和。我用

 sed 's/[^-.0-9]*//g'

但是�并没有消失,我应该怎么做才能将其删除?

3 个答案:

答案 0 :(得分:2)

试试这个:

echo '-4.7�C' | tr -cd '0-9.-'

输出:

-4.7

答案 1 :(得分:1)

基于glob的纯BASH解决方案:

s='-4.7�C'
r="${s//[^-.[:digit:]]/}"

echo "$r"
-4.7

答案 2 :(得分:0)

这将删除它

tr -d $'\200'-$'\377' | sed ...