我有一个带有这样数字的文件:
0.122
1.44
5.44
我想编写一个 shell 脚本,它会给我以下标准的百分比:
- 小于 0.1 的数据百分比
- 0.1 到 0.2 之间的数据百分比
- 0.2 到 0.5 之间的数据百分比
- 大于 1 的数据百分比
我正在尝试使用 awk,但无法通过...
任何帮助,将不胜感激。
这样的事情会做:
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
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]'