ksh计算列的值百分比< 2

时间:2014-03-20 07:45:35

标签: awk ksh percentage

我有一个大文件,其中第四列包含基于十进制的值。如何计算< 2?

test test test .001
test2 test2 test2 8.0993
test3 test3 test3 .00001
test4 test4 test4 1.001

1 个答案:

答案 0 :(得分:3)

这个awk脚本会这样做:

awk '{$4<2?l++:g++}END{printf "< 2 : %s %\n", l*100/(g+l); printf ">=2 : %s %", g*100/(g+l)}' your.file 

为了更好的可读性,请将其放在一个文件中:

percent.awk:

{ $4<2 ? l++ : g++ }
END {
    printf "<  2 : %s %\n", l*100/(g+l)
    printf ">= 2 : %s %", g*100/(g+l)
}

并执行它:

awk -f percent.awk your.file