Chinaunix
标题:
AWK 如何判断列数值大小输出个数?
[打印本页]
作者:
clfsy
时间:
2015-09-25 17:55
标题:
AWK 如何判断列数值大小输出个数?
有如下case,希望能得到高手的指点:
input file:
aaa -0.05 VIO
bbb -0.08 VIO
CCC -0.04 VIO
ddd -0.07 VIO
希望得到结果如下:
more -0.05 3
less -0.05 1
请教如何用AWK实现?
谢谢先!!!
作者:
jason680
时间:
2015-09-25 18:14
回复
1#
clfsy
$ awk '
BEGIN{
val=-0.05
}
{
if($2>val)
less++;
else
more++;
}
END{
print "more",val,more;
print "less",val,less;
}' FILE
more -0.05 3
less -0.05 1
作者:
clfsy
时间:
2015-09-28 09:44
啊!多谢楼上解答,我其实是想 举例的,但估计没有把自己真正想要的描述清楚,下次一定注意。
学习了,确实。我一直想把这个判断的值进行一个累加,现在懂了。
再次多谢楼上。
作者:
聆雨淋夜
时间:
2015-10-01 16:09
awk '{sub("-","",$2);if($2>=0.05)a++;else b++}END{print "more -0.05 "a"\nless -0.05 "b}' file
作者:
fh21_xuejinlian
时间:
2016-09-03 13:32
awk '{if($2>(-0.05))a["less"]++;else a["more"]++}END{for(i in a)print i" -0.0.5",a[i]}' file
作者:
moperyblue
时间:
2016-09-03 13:59
awk -v val=-0.05 '$2>val{++i;next}{++j}END{print "more",val,j RS "less",val,i}'
复制代码
作者:
sunzhiguolu
时间:
2016-09-03 17:05
perl -ane '{if($F[1]<=-0.05){$m++;next}$l++}END{print "more 0.05 $m\nless 0.05 $l"}' f
复制代码
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2