【问题标题】:linux: how can I perform awk-like statistics on text input?linux:如何对文本输入执行类似 awk 的统计?
【发布时间】:2015-10-03 16:08:17
【问题描述】:

我有一些看起来像这样的数据:

add 0.17411 0.00018 0.17430 0
add 0.03959 0.00014 0.03974 1
add 0.00923 0.00013 0.00935 2
add 0.01346 0.00011 0.01357 3
add 1.00567 0.00015 1.00582 4

如何计算这些数字的一些统计数据?我想为每一列获取诸如 min、max、avg、stddeviation 之类的东西。

理想情况下,它应该类似于 awk,并包含在标准 linux 发行版中。

prog max(column1),avg(column1) < myfile

【问题讨论】:

标签: linux unix awk statistics


【解决方案1】:

为什么不使用数据库:

首先,将列名添加到您的文件中:

sed -i 'i1col0 col1 col2 col3 col4' myfile

然后,创建一个数据库并输出一些统计数据:

sqlite3 myfile.sqlite <<END
.separator " "
.import myfile mytable
select max(col1), avg(col1) from mytable;
END

输出

1.00567 0.248412

【讨论】:

  • 这是一个相当有创意的想法,开辟了许多探索的途径。谢谢!
  • 你甚至可以避免用sqlite3 &lt;&lt;END ...写一个sqlite文件
猜你喜欢
  • 1970-01-01
  • 2012-09-09
  • 2014-10-21
  • 2013-10-20
  • 1970-01-01
  • 2023-01-12
  • 1970-01-01
  • 2020-05-03
  • 1970-01-01
相关资源
最近更新 更多