2013-06-06 179 views
0

查找發生的百分比我有一個像這樣帶有數字的文件:使用shell腳本

0.122
1.44
5.44

我想寫一個shell腳本,會給我個以下標準:小於0.1和0.2之間的數據的0.1

  • %數據的

    • % 0.2和數據0.5
    • %之間的數據
    • %,比1

    我使用awk試圖更大,但無法通過得到它...

    任何幫助,將不勝感激。

  • 回答

    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 
    
    +0

    似乎吸塵器做'0 <= $ 1 && $ 1 <0.1'等比在端部減去了。 –

    +0

    感謝Perreal的回答 –

    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]' 
    
    +0

    UUOC:'<文件python ...'工作得很好。 –