将前面的零添加到文件中的所有行

dat*_*ite 2 unix shell command-line padding sh

我有一个简单的文本文件,每行都包含一些随机数。我希望为数字较少的数字添加前面的零。有没有办法在命令行(UNIX)上做到这一点

输入文件:

235
25
1
963258
45
1356924
Run Code Online (Sandbox Code Playgroud)

输出文件:

0000235
0000025
0000001
0963258
0000045
1356924
Run Code Online (Sandbox Code Playgroud)

fal*_*tru 5

使用awk- printf

$ cat testfile
235
25
1
963258
45
1356924
$ awk '{printf("%07d\n", $1)}' testfile  # %07d to pad 0s.
0000235
0000025
0000001
0963258
0000045
1356924
Run Code Online (Sandbox Code Playgroud)