2017-05-10 84 views
0

修改精确我有CSV文件,我需要与价值1.3扩展CSV文件的第一列。我可以使用awk将值为1.3的第一列csv文件进行缩放。这是我所使用缩放一行代码:乘以科学记数法和AWK

$ awk -F, '{$1=$1*1.3;print}' OFS=, input.csv > output.csv 

现在的问题是,缩放后,我想要的结果高达9个或10位小数,但我得到高达5位小数。

input.csv文件格式:

1.2839e-06,  6.5940E-03 
1.2839e-06,  4.0718E-03 

预期Output.csv文件格式::

1.28390080e-06, 6.5940E-03 
1.28390340e-06, 4.0718E-03 

9.876160000E-07 , 6.5940E-03 
9.876180000E-07 , 4.0718E-03 

output.csv文件格式(运行AWK命令之后)在awk命令中更改什么以获得预期结果?

回答

0

与此类似,使用sprintf

$ awk '{$1=sprintf("%.8e",$1*1.3);print}' file 
1.28390080e-06 , 6.5940E-03 
1.28390340e-06 , 4.0718E-03 
+1

非常感谢你。它的工作原理 –

+1

它不显示所述第二列中,所以我没有在线路这种变化以显示第二列还 - > AWK -F“{$ 1 =的sprintf( “%8E。”,$ 1 * 1.3); print}'OFS =,input.csv> output.csv –

+0

显然,我没有打扰过'-F,'这样可能会导致问题,如果''之前没有空格,... –