我正在尝试对大量数据运行awk,遇到了这个问题,当我为单个记录运行相同的awk时,效果很好。
我尝试了以下awk的单一记录,它产生了预期的输出,而不是在处理批量数据时出现问题。
这是数据:
ASY;2020;US;04;D090;13;41;33013 ;00731 ;0095 ;0000F26V07;2019-02-09;2019-01-30;2019-02-02;J4526403309 ;86;01; ; ; ;; ; ;SPB;PKG;001;REG;P/P;001;125; 000000000;SPB; ; ;REG; ; 00000000.0;USD; ;01;P2; ;03;00; ; ; ;FSC; 000000001;22; 0000000000014.81; 0000000000009.63; 0000000000009.63
这是awk
formatted_record=`echo $record | awk -F ';' '{print $3"@"$12"@"$6"@"$7"@"$11"@"$2"@"$1"@"$5"@"$8"@"$9"@"$13"@"$15"@"$16"@"$24"@"$25"@"$26"@"$27"@"$30"@"$31"@"$51"@"$53"@"$37"@"$38"@"$40"@"$48"@"$49"@"$4}'|sed "s/@/\',\'/g"`
使用一条记录运行时,我得到以下输出
'US','2019-02-09','13','41','0000F26V07','2020','ASY','D090','33013 ','00731 ','2019-01-30','J4526403309 ','86','SPB','PKG','001','REG','125',' 000000000',' 0000000000014.81',' 0000000000009.63',' 00000000.0','USD','01','FSC',' 000000001','04
当我运行其他批量记录时
'US','2019-02-09','13','41','0000F26V07','2020','ASY','D090','33013 ','00731 ','2019-01-30','J4526403309 ','86','','','','','','','','','','','','','','04'
缺少数据“ 86”之后的许多字段,我不确定为什么
我以前没有写过很多脚本,我不知道这是怎么回事。 注意:我正在后台运行的脚本中运行此awk。 (我在后台运行大量负载的同一脚本的许多实例)。我想这与处理无关。
谢谢