将csv中的所有数字除以相同的数字

时间:2017-04-26 19:17:29

标签: csv awk

我的文件以毫米为单位,只能以米为单位读取。我需要将它们转换为米(除以1000)。原始文件格式看起来像这样(数百行):

1.11,2.22,3.33
2.22,3.33,4.44

我尝试过使用awk并使用:

awk '{print ($1/1000)","($2/1000)","($3/1000)}' input > output

这将数字划分,但是将它们从3列改为乱七八糟的混乱:

0.00111,0.00222,.003330.00222,0.00333,0.00444

如何划分数字但保留3列格式?

1 个答案:

答案 0 :(得分:2)

使用以下 awk 方法:

awk -F, '{for(i=1;i<=NF;i++) $i=$i/1000}1' OFS=',' input

输出(对于您当前的示例输入):

0.00111,0.00222,0.00333
0.00222,0.00333,0.00444

-F, - 字段分隔符

for(i=1;i<=NF;i++) - 遍历一行的所有字段