首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Fillter grep按范围和列显示的结果

Fillter grep按范围和列显示的结果
EN

Stack Overflow用户
提问于 2015-04-02 13:42:35
回答 1查看 49关注 0票数 0

我使用grep从日志统计数据、数据和值中提取了这些数据:

代码语言:javascript
复制
Apr-1 -4
Apr-1 -2
Apr-1 -5
Apr-1 5
Apr-1 95
Apr-2 -4
Apr-2 -6
Apr-2 -8
Apr-2 9

我需要用range: <=4显示计数,从>4 to <8>= 8显示计数,然后按栏显示组。就像这样:

代码语言:javascript
复制
Day      <=4     >4 & <8    >= 8
--------------------------------
Apr-1     3         1         1
Apr-2     3         0         1

我和awk uniq做了一些测试和研究.但我没有结果

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-02 14:34:35

代码语言:javascript
复制
awk '
    {days[$1] = 1}
    $2 <= 4 {a[$1]++} 
    4 < $2 && $2 < 8 {b[$1]++} 
    $2 >= 8 {c[$1]++} 
    END {
        OFS="\t"; 
        print "Day","<=4", "4<x<8", ">=8"; 
        PROCINFO["sorted_in"] = "@ind_str_asc"; 
        for (day in days) 
            print day, a[day]+0, b[day]+0, c[day]+0
    }
' <<END | column -t 
Apr-1 -4
Apr-1 -2
Apr-1 -5
Apr-1 5
Apr-1 95
Apr-2 -4
Apr-2 -6
Apr-2 -8
Apr-2 9
END
代码语言:javascript
复制
Day    <=4  4<x<8  >=8
Apr-1  3    1      1
Apr-2  3    0      1

在打印时向值添加零的原因是空值(如4月2日4

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29414501

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档