怎么让一个数字始终占两位

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
solcomo
帖子: 2838
注册时间: 2007-04-25 13:12

怎么让一个数字始终占两位

#1

帖子 solcomo » 2008-05-30 16:13

比如0变成00
1变成01
....
9变成09
10还是10
...
♜♞♝♛♚♝♞♜
♟♟♟♟♟♟♟♟
♙♙♙♙♙♙♙♙
♖♘♗♕♔♗♘♖

☠☯⚔⚓☣☦☃☕
☹☻☪☭☬⚖⚛⚜
ℜℳℬ™ ℋℯℓ℘ ℳℭ
sƂɐʍ рǀɹoʍ əɥʇ oS
头像
solcomo
帖子: 2838
注册时间: 2007-04-25 13:12

#2

帖子 solcomo » 2008-05-30 16:37

if [ $s -ge 0 ] && [ $s -lt 10 ];then
s="0$s"
fi

难道真的只能这样..?
♜♞♝♛♚♝♞♜
♟♟♟♟♟♟♟♟
♙♙♙♙♙♙♙♙
♖♘♗♕♔♗♘♖

☠☯⚔⚓☣☦☃☕
☹☻☪☭☬⚖⚛⚜
ℜℳℬ™ ℋℯℓ℘ ℳℭ
sƂɐʍ рǀɹoʍ əɥʇ oS
头像
xiooli
帖子: 6956
注册时间: 2007-11-19 21:51
来自: 成都
联系:

#3

帖子 xiooli » 2008-05-30 17:31

solcomo 写了:if [ $s -ge 0 ] && [ $s -lt 10 ];then
s="0$s"
fi
难道真的只能这样..?
还可以这样:[ $s -ge 0 ] && [ $(($s/10)) -eq 0 ] && echo $s |sed 's/^/0/'
头像
millenniumdark
论坛版主
帖子: 4159
注册时间: 2005-07-02 14:41
系统: Ubuntu 14.04 (Kylin)
联系:

#4

帖子 millenniumdark » 2008-05-30 18:14

代码: 全选

sed -e 's/\(^[0-9]$\)/0\1/' 
头像
solcomo
帖子: 2838
注册时间: 2007-04-25 13:12

#5

帖子 solcomo » 2008-05-30 18:17

谢谢两位 :D
♜♞♝♛♚♝♞♜
♟♟♟♟♟♟♟♟
♙♙♙♙♙♙♙♙
♖♘♗♕♔♗♘♖

☠☯⚔⚓☣☦☃☕
☹☻☪☭☬⚖⚛⚜
ℜℳℬ™ ℋℯℓ℘ ℳℭ
sƂɐʍ рǀɹoʍ əɥʇ oS
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

#6

帖子 BigSnake.NET » 2008-05-30 18:35

代码: 全选

printf '%.2d' 2
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
头像
solcomo
帖子: 2838
注册时间: 2007-04-25 13:12

#7

帖子 solcomo » 2008-05-30 18:39

原来bash也可以这样...
谢谢大蛇
♜♞♝♛♚♝♞♜
♟♟♟♟♟♟♟♟
♙♙♙♙♙♙♙♙
♖♘♗♕♔♗♘♖

☠☯⚔⚓☣☦☃☕
☹☻☪☭☬⚖⚛⚜
ℜℳℬ™ ℋℯℓ℘ ℳℭ
sƂɐʍ рǀɹoʍ əɥʇ oS
头像
xiooli
帖子: 6956
注册时间: 2007-11-19 21:51
来自: 成都
联系:

#8

帖子 xiooli » 2008-05-30 18:42

[ ${#s} = 1 ] && echo 0$s
回复