加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

unix – 在shell中做基本统计的最佳方法?

发布时间:2020-12-16 01:33:55 所属栏目:安全 来源:网络整理
导读:现代Unix shell环境有很多好东西,我需要的东西几乎总是安装在我的机器上或者快速下载;麻烦就是找到它.在这种情况下,我试图找到基本的统计操作. 例如,现在我正在为基于爬虫的应用程序进行原型设计.感谢wget加上其他一些好东西,我现在有几十万个文件.所以我可
现代Unix shell环境有很多好东西,我需要的东西几乎总是安装在我的机器上或者快速下载;麻烦就是找到它.在这种情况下,我试图找到基本的统计操作.

例如,现在我正在为基于爬虫的应用程序进行原型设计.感谢wget加上其他一些好东西,我现在有几十万个文件.所以我可以用数十亿个文件估算这样做的成本,我想得到文件大小超过一定限度的平均值和中位数.例如.:

% ls -l | perl -ne '@a=split(/s+/); next if $a[4] <100; print $a[4],"n"' > sizes
% median sizes
% mean sizes

当然,我可以用perl或awk编写自己的中位数和平均值.但是,不是已经有一些noob友好的包,除此之外还有更多吗?

你能安装 R吗?然后 littler及其r命令可以帮助:
~/svn/littler/examples$ls -l . | awk '!/^total/ {print $5}' 
87
1747
756
988
959
871
~/svn/littler/examples$ls -l . | awk '!/^total/ {print $5}' | ./fsizes.r 
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
     87     785     915     901     981    1750 

  The decimal point is 3 digit(s) to the right of the |

  0 | 1
  0 | 89
  1 | 00
  1 | 7

~/svn/littler/examples$cat fsizes.r 
#!/usr/bin/r -i

fsizes <- as.integer(readLines())
print(summary(fsizes))
stem(fsizes)

这是我们之前使用的示例,因此R函数summary()包含median()和mean()以及ascii-art相似的词干图.简单地调用median()或mean()的泛化当然非常简单.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读