如何从外壳中的负数中删除前导零

  • 本文关键字:删除 外壳 bash sh
  • 更新时间 :
  • 英文 :


有没有简单的方法可以从外壳中的负数中删除前导零?例如:对于像 -02 这样的数字,输出将是 -2

有多种方法可以做到这一点:

a="-02"
echo "$((a+0))"

另一个带有正则表达式:

a="-02" 
echo "${a//-0/-}"

a="-02" 
[[ "$a" =~ ^(-*|+*)0*(.*)$ ]]
echo "${BASH_REMATCH[1]}${BASH_REMATCH[2]}"

bc

a="-02"
bc <<< "$a + 0"

使用内置printf怎么样?

$ num=-02
$ printf "%dn" "$num"
-2

据我所知,一种解决方案如下:

echo -02 | awk '{$0=int($0)}1'

但它仅适用于整数。对于漂浮有什么办法吗?

相关内容

  • 没有找到相关文章