我有一个文件,其中的值按列组织,并由逗号,如下面的文件所示:
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'