分隔符正在随字段更改

分隔符正在随字段更改

我有一个文件,其中的值按列组织,并由逗号,如下面的文件所示:

324,01,1,113333600000,1,,
016,01,1,134954200000,1,,
770,01,1,109069200000,1,,
853,01,1,111518800000,1,,

当我使用以下awk命令时,分隔符正在更改自逗号空间

代码:

awk -F, '{$4=$4/1024}{print $0}'

输出变为:

324 01 1 110677343.75 1  
016 01 1 131791210.93 1  
770 01 1 106512890.62 1  
853 01 1 108905078.12 1 

如何在不更改分隔符的情况下更改字段的值?

答案1

也设置OFS一下:

awk -F, -v OFS=, '{$4=$4/1024}1'

确定OFS输出字段的分隔方式。如果不设置,则默认为空格。

答案2

muru 的答案是正确的,但我更喜欢使用 BEGIN 块来完成此任务:

awk 'BEGIN{FS=OFS=","}{$4=$4/1024}1'

相关内容