数字加0的思路

请教如何打印出001 002 003 这样的格式呢
解答:本题解决办法太多,举几个例子和初学运维的兄弟分享。
法1:{}

[root@C58 scripts]# echo 00{1..3}
001 002 003

法2:seq法

[root@test ~]#  seq -w 100 |sed -n '1,3p'
001
002
003

此法效率不高。可用下面法5替代。
尽量让第一次的结果越接近最终结果越好。

法3:seq -f法

[root@test ~]#  seq -f %03g 3
001
002
003

法4:for循环

[root@test ~]# for ((i=1;i<=3;i=i+1));do echo 00$i;done
001
002
003

法5:seq加sed加正则法

[root@test ~]#  seq -w 101 103|sed -e 's/^1/0/g'
001
002
003

法6:

[root@test ~]# for ((i=1;i<=3;i=i+1));do printf "%03d\n" $i;done
001
002
003

法7:sed命令中&命令用法,增加或修改一个字符串

[root@test ~]# seq 3|sed  's/^[0-9]/00&/g'
001
002
003

法8:sed命令中()和\1的用法,rewrite里也有类此用法

[root@test ~]# seq 3|sed  's/\(^[0-9]\)/00\1/g'
001
002
003

你可能感兴趣的:(数字加0的思路)