我有字符串" 001.036.020" ,我需要将其转换为" 1.36.20" 。 说别的话我需要删除所有" 0"在数字之前。是否可以使用sed做到这一点?
答案 0 :(得分:3)
这个sed应该有效:
sed 's/0*\([1-9]\)/\1/g'
编辑:处理更复杂的案件,例如:
在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*//'