linux日志中有空格,linux中统计排序的内容含有空白行的解决办法

linux中统计排序的内容含有空白行的解决办法

废话不多说,直接上实例:

文件 sharkyun.log 的内容如下

[root@x201t ~]# cat -n sharkyun.log

1http://www.sharkyun.com/index.html

2http://www.sharkyun.com/index.shtml

3https://post.sharkyun.com/index.html

4https://mp3.sharkyun.com/index.html

5http://www.sharkyun.com/index.jsp

6http://post.sharkyun.com/99.html

7

注意:第七行有空格哦!

我想你不会想要下面的统计结果

[root@x201t ~]# awk   -F/    '{print $3}'     sharkyun.log |sort |uniq -c

1

1 mp3.sharkyun.com

2 post.sharkyun.com

3 www.sharkyun.com

[root@x201t ~]#

所以,你应该这样

[root@x201t ~]# awk    -F/    'NF>1{print $3}'    sharkyun.log |sort |uniq -c

1 mp3.sharkyun.com

2 post.sharkyun.com

3 www.sharkyun.com

[root@x201t ~]#

选项说明:

NF>1 ====>表示当以斜线   "/" 为分隔符时,分割的字段数NF大于 1时,awk才处理打印此行;

空行自然不会去处理了。

又或者这样

[root@x201t ~]# cut -d"/" -sf3 sharkyun.log |sort |uniq -c

1 mp3.sharkyun.com

2 post.sharkyun.com

3 www.sharkyun.com

[root@x201t ~]#

选项说明:

-d   ===>指定斜线为分隔字段的分界符

-s   ===>表示不打印没有包含分界符的行

-f   ===>表示当以 -d所定义的分界符时,指定要打印的第几个字段(这里是第3个)

也许老板会让你再搞个从大到小的排名

[root@x201t ~]# cut -d"/" -sf3 sharkyun.log |sort |uniq -c|sort -rn

3 www.sharkyun.com

2 post.sharkyun.com

1 mp3.sharkyun.com

[root@x201t ~]#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值