Awk ksh计算列的百分比,其中值<;2.

Awk ksh计算列的百分比,其中值<;2.,awk,ksh,percentage,Awk,Ksh,Percentage,我有一个大文件,其中第四列包含基于十进制的值。如何计算2){g++}else{l++}可以更改为:{$4>2?g++:l++}在结束块中,NR==g+l,因此可以简化为$4@WilliamPursell谢谢你的评论:)你是对的,让我稍后检查是否可以用来简化它。我正处于一个任务的中间… { $4<2 ? l++ : g++ } END { printf "< 2 : %s %\n", l*100/(g+l) printf ">= 2 : %s %", g*100

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

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

此awk脚本将执行以下操作:

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

只是打高尔夫球:
{if($4>2){g++}else{l++}
可以更改为:
{$4>2?g++:l++}
在结束块中,NR==g+l,因此可以简化为
$4@WilliamPursell谢谢你的评论:)你是对的,让我稍后检查是否可以用来简化它。我正处于一个任务的中间…
{ $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