zoukankan      html  css  js  c++  java
  • sort

    sort将文件内容加以排序,以行为单位

     1 #首先文本是这样
     2 q:118:5650
     3 j:217:5300
     4 c:302:4950
     5 q:118:5650
     6 m:441:5450
     7 f:515:5100
     8 v:713:5900
     9 t:817:5800
    10 t:817:5800
    11 c:797:4950
    12 m:986:5450
    13 m:986:5450
    14 o:1115:5550

    sort不使用参数的时候

    nange@meishi:~$ cat 33.txt |sort
    c:302:4950
    c:797:4950
    f:515:5100
    j:217:5300
    m:441:5450
    m:986:5450
    m:986:5450
    o:1115:5550
    q:118:5650
    q:118:5650
    t:817:5800
    t:817:5800
    v:713:5900
    #sort不使用参数的时候,只是将文本排序了而已,并没有去除重复的数据

    sort -u可以去除重复的数据

     1 nange@meishi:~$ cat 33.txt |sort -u
     2 c:302:4950
     3 c:797:4950
     4 f:515:5100
     5 j:217:5300
     6 m:441:5450
     7 m:986:5450
     8 o:1115:5550
     9 q:118:5650
    10 t:817:5800
    11 v:713:5900

    sort -t和-k配合其他使用

     1 #-t指定分隔符
     2 #-k指定按照第几列排序
     3 nange@meishi:~$ cat 33.txt |sort -k 3 -t ':'
     4 c:302:4950
     5 c:797:4950
     6 f:515:5100
     7 j:217:5300
     8 m:441:5450
     9 m:986:5450
    10 m:986:5450
    11 o:1115:5550
    12 q:118:5650
    13 q:118:5650
    14 t:817:5800
    15 t:817:5800
    16 v:713:5900
    17 #使用-u去重
    18 nange@meishi:~$ cat 33.txt |sort -uk 3 -t ':'
    19 c:302:4950
    20 f:515:5100
    21 j:217:5300
    22 m:441:5450
    23 o:1115:5550
    24 q:118:5650
    25 t:817:5800
    26 v:713:5900
    27 #使用-u去重,-r逆向排序
    28 nange@meishi:~$ cat 33.txt |sort -ruk 3 -t ':'
    29 v:713:5900
    30 t:817:5800
    31 q:118:5650
    32 o:1115:5550
    33 m:441:5450
    34 j:217:5300
    35 f:515:5100
    36 c:302:4950

    排序选项:

    -b, --ignore-leading-blanks 忽略前导的空白区域
    -d, --dictionary-order 只考虑空白区域和字母字符
    -f, --ignore-case 忽略字母大小写
    -g, --general-numeric-sort compare according to general numerical value
    -i, --ignore-nonprinting consider only printable characters
    -M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC'
    -h, --human-numeric-sort 使用易读性数字(例如: 2K 1G)
    -n, --numeric-sort 根据字符串数值比较  
    -R, --random-sort 根据随机hash 排序
    --random-source=文件 从指定文件中获得随机字节
    -r, --reverse 逆序输出排序结果
    --sort=WORD 按照WORD 指定的格式排序:
    一般数字-g,高可读性-h,月份-M,数字-n,
    随机-R,版本-V
    -V, --version-sort 在文本内进行自然版本排序

    其他选项:

    --batch-size=NMERGE 一次最多合并NMERGE 个输入;如果输入更多
    则使用临时文件
    -c, --check, --check=diagnose-first 检查输入是否已排序,若已有序则不进行操作
    -C, --check=quiet, --check=silent 类似-c,但不报告第一个无序行
    --compress-program=程序 使用指定程序压缩临时文件;使用该程序
    的-d 参数解压缩文件
    --debug 为用于排序的行添加注释,并将有可能有问题的
    用法输出到标准错误输出
    --files0-from=文件 从指定文件读取以NUL 终止的名称,如果该文件被
    指定为"-"则从标准输入读文件名
    -k, --key=KEYDEF sort via a key; KEYDEF gives location and type
    -m, --merge merge already sorted files; do not sort
    -o, --output=文件 将结果写入到文件而非标准输出
    -s, --stable 禁用last-resort 比较以稳定比较算法
    -S, --buffer-size=大小 指定主内存缓存大小
    -t, --field-separator=分隔符 使用指定的分隔符代替非空格到空格的转换
    -T, --temporary-directory=目录 使用指定目录而非$TMPDIR 或/tmp 作为
    临时目录,可用多个选项指定多个目录
    --parallel=N 将同时运行的排序数改变为N
    -u, --unique 配合-c,严格校验排序;不配合-c,则只输出一次排序结果
    -z, --zero-terminated 以0 字节而非新行作为行尾标志
    --help 显示此帮助信息并退出
    --version 显示版本信息并退出

  • 相关阅读:
    C语言经典算法100例(二)
    Plus One @LeetCode
    hdu 4099 Revenge of Fibonacci 字典树+大数
    算法入门系列一--DP初步
    《当裸辞的程序猿遇上最冷季八》——第一次约女孩吃饭
    UVa 297
    手机NFC通信的安全车钥匙
    innosetup卸载软件后,删除定时任务schedule task
    VS2008调试程序时出现"XXX mutex not created."
    centOS7关闭防火墙的命令
  • 原文地址:https://www.cnblogs.com/yingnan/p/4625087.html
Copyright © 2011-2022 走看看