• 【Linux常见命令】sort命令


    sort - sort lines of text files

    sort命令用于将文本文件内容加以排序。

    sort可针对文本文件的内容,以为单位来排序。

    语法:

    sort [OPTION]... [FILE]...
    sort [OPTION]... --files0-from=F

    sort [-bcdfimMnr][-o<输出文件>][-t<分隔字符>][+<起始栏位>-<结束栏位>][--help][--verison][文件]

    参数:

    sort默认无参数,按照ascii码排序,升序,从小到大

    • -n 依照数值的大小排序
    • -r 以相反的顺序来排序。
    • -u,--unique 去除重复行
      • with -c, check for strict ordering; without -c, output only the
        first of an equal run

      • -u参数,取唯一,不管是否为相邻行
      • [root@oldboy oldboy]# sort uniq.txt
        1
        1
        aa
        aa
        bb
        cc
        dd
        www
        www
        
        [root@oldboy oldboy]# sort uniq.txt -u
        1
        aa
        bb
        cc
        dd
        www
        sort -u 压缩,唯一
        [root@oldboy oldboy]# uniq uniq.txt 
        www
        aa
        bb
        aa
        cc
        dd
        1
        aa
        uniq压缩相邻行
    • -b 忽略每行前面开始出的空格字符。
    • -c 检查文件是否已经按照顺序排序。
      • [root@oldboy oldboy]# cat sort_c.txt
        11
        22
        33
        44
        11
        22
        33
        44
        # 显示第5行的11未按排序要求排序,用于检查排序是否有错误
        [root@oldboy oldboy]# sort -c sort_c.txt 
        sort: sort_c.txt:5: disorder: 11
        sort -c检查排序是否ok
          
    • -d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。
    • -f 排序时,将小写字母视为大写字母。
    • -i 排序时,除了040至176之间的ASCII字符外,忽略其他的字符。
    • -m 将几个排序好的文件进行合并。
    • -M 将前面3个字母依照月份的缩写进行排序。
    • -o<输出文件> 将排序后的结果存入指定的文件。
    • -r 以相反的顺序来排序。
    • -t<分隔字符> 指定排序时所用的栏位分隔字符。
      • -t, --field-separator=SEP
      • 默认的SEP分隔符为空格
      • [root@oldboy oldboy]# sort new.txt
        1-user01
        2-user02
        3-user03
        4-user04
        5-user05
        # 分隔符设置为“-”,取第二列作为排序的条件列,-r倒序
        [root@oldboy oldboy]# sort new.txt -t '-' -k 2 -r
        5-user05
        4-user04
        3-user03
        2-user02
        1-user01
        sort -k 2 指定key,指定-t分隔符,倒序排序
    • -k, --key=POS1[,POS2] 指定起始的排序列

      • -k, --key=POS1[,POS2]
        start a key at POS1 (origin 1), end it at POS2 (default end of line)

    • +<起始栏位>-<结束栏位> 以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。

    示例: 

    # 数据准备
    [root@oldboy oldboy]# cat sort_test.txt      
    a
    b
    c
    d
    e
    f
    g
    h
    i
    j
    k
    l
    m
    n
    o
    p
    q
    r
    s
    t
    u
    v
    w
    x
    y
    z
    test
    Hello
    hello
    Welcome
    www.baidu.com
    
    
    # 以默认的方式对文件进行排序
    [root@oldboy oldboy]# sort sort_test.txt 
    Hello
    Welcome
    a
    b
    c
    d
    e
    f
    g
    h
    hello
    i
    j
    k
    l
    m
    n
    o
    p
    q
    r
    s
    t
    test
    u
    v
    w
    www.baidu.com
    x
    y
    z
    sort默认的排序方式

    sort 命令将以默认的方式将文本文件的第一列以ASCII 码的次序排列,并将结果输出到标准输出。

    注意,ASCII码的对照表如下:https://baike.baidu.com/item/ASCII/309296?fr=aladdin

    [root@oldboy oldboy]# sort sort_test.txt -r
    z
    y
    x
    www.baidu.com
    w
    v
    u
    test
    t
    s
    r
    q
    p
    o
    n
    m
    l
    k
    j
    i
    hello
    h
    g
    f
    e
    d
    c
    b
    a
    Welcome
    Hello
    sort -r 倒序,从大到小
  • 相关阅读:
    常见水果的日语单词汇总
    身体各个部位的日语单词
    多拉A梦——日语歌词
    日语——动词的各种变形
    语言类型学分类
    常用自定义函数
    IOS 读取xib里的子控件
    IOS中 copy ,strong ,weak ,assign使用区别
    IOS 字典转模型
    IOS 纯代码添加 Button Image Label 添加到自定义View中
  • 原文地址:https://www.cnblogs.com/zoe233/p/11802572.html
Copyright © 2020-2023  润新知