如果以零开头,如何删除第二列的第一个字符

时间:2014-09-22 14:02:54

标签: unix

我有一个像这样的固定宽度文件:

FY14Working          BCT86   DI                Mattel Brands                      69.9900
FY14Working          BCT86   DC                Mattel Brands                      87.4900
FY14Working          0CT90   DC                Mattel Brands                      31.2400
FY14Working          BCK16   DC                Mattel Brands                      27.4900
FY14Working          0CT89   DC                Mattel Brands                      31.2400
FY14Working          BCK14   DC                Mattel Brands                      58.7400
FY14Working          01234   DC                Mattel Brands                      66.2400

如果它位于第二列的第一位,我想从第二列中删除零。

OUTPUT应该是这样的:

FY14Working          BCT86   DI                Mattel Brands                      69.9900
FY14Working          BCT86   DC                Mattel Brands                      87.4900
FY14Working          CT90   DC                Mattel Brands                      31.2400
FY14Working          BCK16   DC                Mattel Brands                      27.4900
FY14Working          CT89   DC                Mattel Brands                      31.2400
FY14Working          BCK14   DC                Mattel Brands                      58.7400
FY14Working          1234   DC                Mattel Brands                      66.2400

1 个答案:

答案 0 :(得分:0)

这应该是:

awk '{gsub(/^0/,"",$2)}1' file

要保留格式,请添加| column -t

$ awk '{gsub(/^0/,"",$2)}1' file | column -t
FY14Working  BCT86  DI  Mattel  Brands  69.9900
FY14Working  BCT86  DC  Mattel  Brands  87.4900
FY14Working  CT90   DC  Mattel  Brands  31.2400
FY14Working  BCK16  DC  Mattel  Brands  27.4900
FY14Working  CT89   DC  Mattel  Brands  31.2400
FY14Working  BCK14  DC  Mattel  Brands  58.7400
FY14Working  1234   DC  Mattel  Brands  66.2400