[20181212]bash shell 字符串 补零.txt

[20181212]bash shell 字符串 补零.txt


--//上午写bash shell脚本,遇到一个问题,字符串前面补零的问题.


$ echo $BASH_VERSION

3.2.25(1)-release


$ a='12345'

$ printf "%08s\n" $a

   12345


$ printf "%8s\n" $a

   12345


--//对于字符串%8s,%08s都是一样的,都是前面补充空格.

--//数值可以使用类似的方法补零.


$ a='12345'

$ printf "%08d\n" $a

00012345


--//奇怪的是我在windows下安装git,里面自带bash就是ok的.

$ a='12345'

$ printf "%08s\n" $a

00012345


--//实际上在linux下printf有2个命令.一个是shell内建的,一个是外部命令.

$ type -a printf

printf is a shell builtin

printf is /usr/bin/printf


--//看了文档感觉没用.

--//正好我的字符串原来是16进制值.


$ a=0x12345

$ printf "%08x\n" $a

00012345


--//真要实现字符串前面补零,还是比较麻烦.


$ a=1a2b3c

$ printf "%08x\n" "0x"$a

001a2b3c

$ a=$(printf "%08s" $a | tr " " "0")

$ echo $a

001a2b3c


--//不知道还有什么好方法!!


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/267265/viewspace-2285005/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/267265/viewspace-2285005/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值