0

次のような番号のファイルがあります。

0.122
1.44
5.44

次の基準のパーセンテージを表示するシェル スクリプトを作成したいと考えています。

  • データの % が 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 に答える