如何使用sed从字符串中删除0

时间:2013-05-15 11:26:44

标签: regex string sed substitution

我有字符串" 001.036.020" ,我需要将其转换为" 1.36.20" 。 说别的话我需要删除所有" 0"在数字之前。是否可以使用sed做到这一点?

2 个答案:

答案 0 :(得分:3)

这个sed应该有效:

sed 's/0*\([1-9]\)/\1/g'

编辑:处理更复杂的案件,例如:

    数字之间的
  • 0:
  • 处理只有0的段(将折叠为单个零)

在Linux上:

sed -r -e 's/(^|\.)0+([1-9])/\1\2/g' -e 's/(^|\.)(0)0*(\.|$)/\1\2\3/g'

在Mac上的OR:

sed -E -e 's/(^|\.)0+([1-9])/\1\2/g' -e 's/(^|\.)(0)0*(\.|$)/\1\2\3/g'

答案 1 :(得分:0)

echo '001.036.020' | sed 's/^0*//'