ITPub博客

首页 > IT基础架构 > 应用安全 > [20181212]bash shell 字符串 补零.txt

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

原创 应用安全 作者:lfree 时间:2018-12-12 16:05:34 0 删除 编辑

[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/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
熟悉oracle相关技术,擅长sql优化,rman备份与恢复,熟悉linux shell编程。

注册时间:2008-01-03

  • 博文量
    2317
  • 访问量
    6045612