我想编写一个通用的awk脚本,它可以将文件和字段编号作为输入(在该文件中),并给出该文件中该字段的平均值.我会用这样的东西:
bash$ avg.awk 3 input.file
22
bash$ avg.awk 4 input.file
2001
Run Code Online (Sandbox Code Playgroud)
当然,如果我知道我要预先平均的哪个字段(例如3美元),我就可以编写脚本.那将是这样的:
//{tot+=$3; count++}
END{
print tot/count;
}
Run Code Online (Sandbox Code Playgroud)
但我希望能够通过命令行选项更改我想要平均的字段.那可能吗?谢谢!
我试图绘制这种csv格式的东西:时间戳,值.但这些值不是实数,而是大值的缩写(k = 1000,M = 1000000等).
2012-02-24 09:07:01, 8.1M
2012-02-24 09:07:02, 64.8M
2012-02-24 09:07:03, 84.8M
2012-02-24 09:07:04, 84.8M
2012-02-24 09:07:05, 84.8M
2012-02-24 09:07:07, 84.8M
2012-02-24 09:07:08, 84.8M
2012-02-24 09:07:09, 84.8M
2012-02-24 09:07:10, 84.8M
Run Code Online (Sandbox Code Playgroud)
我通常使用numpy记录数组来存储csv matplotlib.mlab.csv2rec(infile).但只有在值不是缩写形式时才有效.有没有一个简单的方法来实现这一点,而实际上我的程序读取每个值,寻找'M'将84.8M转换为84800000?