• Sort命令使用


    查看haproxy日志的某一时间段的关于某个url的访问IP降序排序:           注意:排序(sort)在去重(uniq)之后使用

    p 指的是从包含某一个字符到某一字符的区间的所有行打印输出,注意此处采用了两个sort

    cat haproxy.log | sed -n '/Nov 20 21:00:00/,/Nov 21 22:00:00/p' | grep aabb.com/PointZan|awk '{print $6}'|cut -d : -f1 |sort | uniq -c |sort -k1 -rn

    cat haproxy.log | sed -n '/Nov 20 21:00:00/,/Nov 21 22:00:00/p' | grep aabb.com/PointZan|awk '{print $6}'|cut -d : -f1 | sort |uniq -c |sort -k1,1rn 

    --------------------------------------------------------------------------------------------------

    很多时候,我们都会去计算一次数据里头的相同型态的数据总数,举例来说, 使用 last 可以查得这个月份有登陆主机者的身份。那么我可以针对每个使用者查出他们的总登陆次数吗? 此时就得要排序与计算之类的命令来辅助了!底下我们介绍几个好用的排序与统计命令,首先是排序命令sort。

    [root@www ~]# sort [-fbMnrtuk] [file or stdin]
    选项与参数:
    -f  :忽略大小写的差异,例如 A 与 a 视为编码相同;
    -b  :忽略最前面的空格符部分;
    -M  :以月份的名字来排序,例如 JAN, DEC 等等的排序方法;
    -n  :使用『纯数字』进行排序(默认是以文字型态来排序的);
    -r  :反向排序;
    -u  :就是 uniq ,相同的数据中,仅出现一行代表;
    -t  :分隔符,默认是用 [tab] 键来分隔;
    -k  :以那个区间 (field) 来进行排序的意思
    
    范例一:个人账号都记录在 /etc/passwd 下,请将账号进行排序。
    [root@www ~]# cat /etc/passwd | sort
    adm:x:3:4:adm:/var/adm:/sbin/nologin
    apache:x:48:48:Apache:/var/www:/sbin/nologin
    bin:x:1:1:bin:/bin:/sbin/nologin
    daemon:x:2:2:daemon:/sbin:/sbin/nologin
    # 鸟哥省略很多的输出~由上面的数据看起来, sort 是默认『以第一个』数据来排序,
    # 而且默认是以『文字』型态来排序的喔!所以由 a 开始排到最后啰!
    
    范例二:/etc/passwd 内容是以 : 来分隔的,我想以第三栏来排序,该如何?
    [root@www ~]# cat /etc/passwd | sort -t ':' -k 3
    root:x:0:0:root:/root:/bin/bash
    uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
    operator:x:11:0:operator:/root:/sbin/nologin
    bin:x:1:1:bin:/bin:/sbin/nologin
    games:x:12:100:games:/usr/games:/sbin/nologin
    # 看到特殊字体的输出部分了吧?怎么会这样排列啊?呵呵!没错啦~
    # 如果是以文字型态来排序的话,原本就会是这样,想要使用数字排序:
    # cat /etc/passwd | sort -t ':' -k 3 -n
    # 这样才行啊!用那个 -n 来告知 sort 以数字来排序啊!
    
    范例三:利用 last ,将输出的数据仅取账号,并加以排序
    [root@www ~]# last | cut -d ' ' -f1 | sort
  • 相关阅读:
    udev文件系统的使用和基本工作原理分析
    ARM平台上蓝牙协议栈Bluez的移植使用和配置
    udev文件系统的使用和基本工作原理分析
    ARM平台上蓝牙协议栈Bluez的移植使用和配置
    Linux 下用户空间与内核空间数据交换的方式
    详解Linux2.6内核中基于platform机制的驱动模型
    IOS怎么判断网络连接
    ios 设备方向判断
    IOS加解密
    用代码向网站提交数据
  • 原文地址:https://www.cnblogs.com/wjoyxt/p/6090195.html
Copyright © 2020-2023  润新知