• Linux 命令


    命令格式

    sort [OPTION]... [FILE]...

    命令参数

    -b, --ignore-leading-blanks
      忽略开头的空白字符。

    -d, --dictionary-order
      只考虑空白字符、字母和数字字符。

    -f, --ignore-case
      排序时不区分大小写。

    -g, --general-numeric-sort
      根据常规数值排序。

    -i, --ignore-nonprinting
      只考虑可打印的字符。

    -M, --month-sort
      根据月份排序, JAN < ... < DEC。

    -h, --human-numeric-sort
      根据适合阅读的数值比较(例如,2K 1G)。

    -n, --numeric-sort
      根据字符串数数值比较。

    -R, --random-sort
      根据随机 hash 排序。

    --random-source=FILE
      从指定的文件中获取随机字节。

    -r, --reverse
      反向排序。

    -V, --version-sort
      根据版本排序。

    -c, --check, --check=diagnose-first
      检查目标文本是否已经排序而不会进行排序。

    -C, --check=quiet, --check=silent
      类似 -c 选项,但不报告第一个无序行。

    -k, --key=POS1[,POS2]
      对 POS1 与 POS2 之间的字符排序,而不是整个文本行。

    -m, --merge
      合并已排好序的文件而不会进行排序。

    -o, --output=FILE
      将排序结果输出至指定文件而不是标准输出。

    -t, --field-separator=SEP
      定义字段的空格符。默认情况下,字段是由空格或制表符分开的。

    -T, --temporary-directory=DIR
      使用 DIR 作为临时目录而不是 $TMPDIR 或 /tmp,可用多个选项指定多个目录。

    -z, --zero-terminated
      以 0 字节而非新行作为行尾标志。

    --help
      显示帮助信息。

    --version
      显示版本信息。

    实例

    测试文件 testfile:

    mysql    39216       10.21.28.47       Oct  2 14:29
    mail     4981        10.6.0.28         Oct  1 10:54
    root     2672        10.6.0.32         Sep 27 15:53
    mail     7724        10.6.0.32         Sep 14 11:40
    root     18122       10.6.0.32         Aug 30 14:36
    mysql    20441       10.21.28.58       Jun 22 21:14
    root     5961        10.6.0.32         Jun  6 09:38
    admin    60327       10.6.0.203        Mar 11 23:03
    mysql    10885       10.6.0.203        Jan 20 12:53
    admin    9917        10.6.0.32         Jan 16 17:01

    a) 对文本行排序。

    [huey@huey-K42JE cmdline]$ sort testfile 
    admin    60327       10.6.0.203        Mar 11 23:03
    admin    9917        10.6.0.32         Jan 16 17:01
    mail     4981        10.6.0.28         Oct  1 10:54
    mail     7724        10.6.0.32         Sep 14 11:40
    mysql    10885       10.6.0.203        Jan 20 12:53
    mysql    20441       10.21.28.58       Jun 22 21:14
    mysql    39216       10.21.28.47       Oct  2 14:29
    root     18122       10.6.0.32         Aug 30 14:36
    root     2672        10.6.0.32         Sep 27 15:53
    root     5961        10.6.0.32         Jun  6 09:38

    b) 根据第 2 列字段排序。

    [huey@huey-K42JE cmdline]$ sort -k 2 testfile 
    mysql    10885       10.6.0.203        Jan 20 12:53
    root     18122       10.6.0.32         Aug 30 14:36
    mysql    20441       10.21.28.58       Jun 22 21:14
    root     2672        10.6.0.32         Sep 27 15:53
    mysql    39216       10.21.28.47       Oct  2 14:29
    mail     4981        10.6.0.28         Oct  1 10:54
    root     5961        10.6.0.32         Jun  6 09:38
    admin    60327       10.6.0.203        Mar 11 23:03
    mail     7724        10.6.0.32         Sep 14 11:40
    admin    9917        10.6.0.32         Jan 16 17:01

    c) 将第 2 列字段作为数字反向排序。

    [huey@huey-K42JE cmdline]$ sort -k 2nr testfile 
    admin    60327       10.6.0.203        Mar 11 23:03
    mysql    39216       10.21.28.47       Oct  2 14:29
    mysql    20441       10.21.28.58       Jun 22 21:14
    root     18122       10.6.0.32         Aug 30 14:36
    mysql    10885       10.6.0.203        Jan 20 12:53
    admin    9917        10.6.0.32         Jan 16 17:01
    mail     7724        10.6.0.32         Sep 14 11:40
    root     5961        10.6.0.32         Jun  6 09:38
    mail     4981        10.6.0.28         Oct  1 10:54
    root     2672        10.6.0.32         Sep 27 15:53
  • 相关阅读:
    silo 主机 报找不到 grain 实现错误的一个注意
    转:CRT注册
    Maven生命周期
    Maven学习笔记
    Java内存回收机制
    Selenium2.0和1.0的区别
    关于使用Selenium RC无法打开指定页面问题
    四儿子购买手册
    Objective-C 宏定义的收集
    设计模式:适配器模式
  • 原文地址:https://www.cnblogs.com/huey/p/4851497.html
Copyright © 2020-2023  润新知