一、产生8位数序列如果不够8位的数字前边用0补齐,网上找了很多的都没有我的好,但是我的结果来自他们的文章,总结了一个最好的。
[root@localhost ~]# seq 10|awk '{printf "%08d\n",$0}'
00000001
00000002
00000003
00000004
00000005
00000006
00000007
00000008
00000009
00000010
二、亚洲通过我上边的命令总结出的更精简版,赞一个!
[root@localhost ~]# seq -f %08g 10
00000001
00000002
00000003
00000004
00000005
00000006
00000007
00000008
00000009
00000010
三、在序列号前直接添加8个0,而不是补齐到8位。
[root@localhost ~]# seq 10|awk '{printf "%08s%s\n","",$0}'
000000001
000000002
000000003
000000004
000000005
000000006
000000007
000000008
000000009
0000000010
四、上面应用的扩展,通过bash而且不用循环,直接产生n个相同的字符组成的字符串,网上根本找不到!呵呵!
[root@localhost ~]# n=10;a=b;echo $a|awk '{printf "%'$n's\n",$0}'|sed 's/ /'$a'/g'
bbbbbbbbbb
ps:
另外的方法是用printf %05d $i
或者awk 的printf来补全