在awk中使用前导零增加数字

Tim*_*Tim -1 awk

我们可以使用awk添加2到每个(零填充)数字,每个都在一条线上,同时保留前导零?

0001
0002
0008
0011
0134
0146
Run Code Online (Sandbox Code Playgroud)

预期的结果是

0003
0004
0010
0013
0136
0148
Run Code Online (Sandbox Code Playgroud)

我的命令是awk '{print $1+2}' myfile,但结果是

3
4
10
13
136
148
Run Code Online (Sandbox Code Playgroud)

谢谢.

tha*_*guy 5

您可以使用

awk '{ printf "%04d\n", $1+2 }'
Run Code Online (Sandbox Code Playgroud)

填充到四位数,或

awk '{ printf "%0" length($1) "d\n", $1+2 }'
Run Code Online (Sandbox Code Playgroud)

填充到输入数字的长度.

  • 编写可变长度示例的另一种方法是使用`*`.`awk'{printf"%0*d \n",长度($ 1),$ 1 + 2}` (3认同)