我有以下文件,当值为数字时,我想在其中用零填充,但在值为字符串时保持原样:
cat test.txt
2032
12
XXXXX
507
334
这仅适用于数值,字符串被忽略:
awk '{printf "%05d\n",$1}' test.txt
02032
00012
00000
00507
00334
我可以有条件得到它,但有没有更简单的方法?
awk '{if ($1 ~ /^[0-9]+$/) printf "%05d\n",$1; else printf "%s\n",$1}' test.txt
02032
00012
XXXXX
00507
00334