2

我在 bash 编号中有一个变量,其中包含值01, 02, 03, 04, 05, 06, 07, 08, 09, 010, 011, 012.

我想删除 和 之前的前导010, 011012。如果数字是两位数,我只想删除前导零。

我怎样才能做到这一点?

提前致谢!

4

2 回答 2

4

尝试:

a="012"
printf '%02d\n' "$((10#${a}))"
12
于 2015-07-09T20:10:00.910 回答
0

另一种方式:

a="014"
printf "%02d\n" $(echo "obase=10;$a" |bc)
14

另一个:

[[ $a =~ ^0+[1-9]{2,}$ ]] && a="$(echo $((10#${a})))"
echo $a

0将从开头删除所有 s2或更多非零数字。

于 2015-07-09T21:04:32.173 回答