2014-04-18 39 views
1

我有几个文件从Acquire1_00001.txt ... Acquire1_00050.txt平均化制表符分隔值

的值有全片这样的分离:

3.500E2 -2.3386E0 
3.510E2 39.192E-2 
3.520E2 -46.143E-2 
3.530E2 -42.809E-4 
3.540E2 2.9356E0 
3.550E2 1.0014E0 
3.560E2 -1.3001E0 
3.570E2 4.5244E0 

现在,我想所有的文件平均成新文件。到目前为止,价值的指数表示让我疯狂。我能做什么?

+0

我这个解决它: 'awk'{sum [$ 1] + = $ 2; cnt [$ 1] ++} END {for(i sum)print i,sum [i]/cnt [i] | “sort -n”}'Acquire1_ *> out.data' 我在这里找到:http://stackoverflow.com/questions/13263963/calculating-average-using-awk-from-multiple-files/13264259#13264259 – fsp

回答

1

这是一个非常标准的E-notation,很多软件都可以理解。

这是很容易转换为标准的十进制表示与UNIX脚本,虽然你会失去一些精密(1E-100将打印0.00000,例如):

awk '{ printf "%.40f %.40f\n", $1, $2}' < e-notation-file.txt > d-notation-file.txt 
+0

谢谢,我发现这个数据的'%.6f'精度就足够了。 – fsp