0

我有一个带有这样数字的文件:

0.122
1.44
5.44

我想编写一个 shell 脚本,它会给我以下标准的百分比:

  • 小于 0.1 的数据百分比
  • 0.1 到 0.2 之间的数据百分比
  • 0.2 到 0.5 之间的数据百分比
  • 大于 1 的数据百分比

我正在尝试使用 awk,但无法通过...

任何帮助,将不胜感激。

4

2 回答 2

2

这样的事情会做:

awk ' 
  $1 < 0.1 { c[0]++ } 
  $1 < 0.2 { c[1]++ } 
  $1 < 0.5 { c[2]++ } 
  $1 > 1   { c[3]++ } 
  END {
    c[2] -= c[1];
    c[1] -= c[0];
    t = c[0] + c[1] + c[2] + c[3];
    print (c[0]/t) * 100, (c[1]/t) * 100, (c[2]/t) * 100, (c[3]/t) * 100
  }'  input
于 2013-06-06T05:59:59.190 回答
0
cat file | python -c 'import numpy,sys; a=[float(l.strip()) for l in sys.stdin];b=numpy.histogram(a,bins = [0,.1,.2,.5,1,max(a)])[0];print [x*100/sum(b) for x in b]'
于 2013-06-06T07:03:58.353 回答