您可以直接执行以下操作:
$ awk '{$7="0000000"$7}1' file
756 S#017925 5608 R88 X3GU0C LIC 0000000200 00000000000
756 S#017925 5608 R88 M3GURA LIC 0000000200 00000000000
它以与您相同的方式设置第7个字段。然后,用
1
.
如果您的号码
8
碰巧时间可变,使用起来很方便
printf
连同
%0XXi
使变量包含
XX
数字(将有
XX - length_number
)前导数
0
s) 。要将值存储在变量中,我们使用
sprintf
.
Thanks to triplee for the idea
!
$ awk '{ $7 = sprintf("%011i", $7) } 1' file
756 S#017925 5608 R88 X3GU0C LIC 00000000200 00000000000
756 S#017925 5608 R88 M3GURA LIC 00000000200 00000000000
你的尝试出了什么问题?
awk -F' ' '{print "00000000"$7}' tmp.txt > tmp1.txt
-
print "00000000"$7
您正在打印第7个字段。使用
1.
让awk执行其默认操作:
{print $0}
,这意味着它将打印整行。
-
此外,无需使用
-F' '
,因为它是默认值。