IDC知识库
IDC领域专业知识百科平台
首页 > 网络知识

网络知识linux中sort命令排序功能实现方法

    • 企业邮箱 全新登场
    • 虚拟主机
    • 云服务器

    功能说明:将文本文件内容加以排序,sort可针对文本文件的内容,以行为单位来排序。

    参  数:
    -b 忽略每行前面开始出的空格字符。
    -c 检查文件是否已经按照顺序排序。
    -d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。
    -f 排序时,将小写字母视为大写字母。
    -i 排序时,除了040至176之间的ASCII字符外,忽略其他的字符。
    -m 将几个排序好的文件进行合并。
    -M 将前面3个字母依照月份的缩写进行排序。
    -n 依照数值的大小排序。
    -o<输出文件> 将排序后的结果存入指定的文件。
    -r 以相反的顺序来排序。
    -t<分隔字符> 指定排序时所用的栏位分隔字符。
    +<起始栏位>-<结束栏位> 以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。
    --help 显示帮助。
    --version 显示版本信息

    1、sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。

    [root@zhoucentos log]# cat seq
    banana
    apple
    pear
    orange
    
    [root@zhoucentos log]# sort seq
    
    apple
    banana
    orange
    pear

    2、sort的-u 选项它的作用很简单,就是在输出行中去除重复行。

    [root@zhoucentos log]# cat seq
    banana
    apple
    pear
    orange
    apple
    pear
    [root@zhoucentos log]# sort -u seq
    apple
    banana
    orange
    pear

    3、 sort的-n选项,你有没有遇到过10比2小的情况。我反正遇到过。出现这种情况是由于排序程序将这些数字按字符来排序了,排序程序会先比较1和2,显然1小,所以就将10放在2前面喽。这也是sort的一贯作风。

    [root@zhoucentos log]# cat number
    1
    3
    2
    5
    78
    11
    4
    [root@zhoucentos log]# sort number
    1
    11
    2
    3
    4
    5
    78
    [root@zhoucentos log]# sort -n number
    1
    2
    3
    4
    5
    11
    78

    4、sort的-o选项,想把排序结果输出到原文件中,用重定向可就不行了。

    [root@zhoucentos log]# cat number
    78
    5
    4
    3
    2
    11
    1
    [root@zhoucentos log]# sort -nr number -o number
    [root@zhoucentos log]# cat number
    78
    11
    5
    4
    3
    2
    1

    5、sort的-t选项和-k选项

    [root@zhoucentos log]# cat date
    2017-12-02
    2017-01-09
    2017-10-23
    2017-04-24

    这个文件有三列,列与列之间用“-”隔开了,第一列表示年,第二列表示月,第三列表示日。那么我想以月来排序,也就是以第二列来排序,如何利用sort实现?幸好,sort提供了-t选项,后面可以设定间隔符。指定了间隔符之后,就可以用-k来指定列数了。

    [root@zhoucentos log]# sort -n -k 2 -t'-' date // -t<分隔字符> 指定排序时所用的栏位分隔字符。 -k 选择以哪个区间进行排序
    
    2017-01-09
    2017-04-24
    2017-10-23
    2017-12-02
    声明:本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-62778877-8306;邮箱:fanjiao@west.cn。本站原创内容未经允许不得转载,或转载时需注明出处:西部数码知识库 » linux中sort命令排序功能实现方法
    • 日销500+
      基础型云服务器

      2核CPU

      2G内存

      50G硬盘

      2M带宽

      独立IP

      分布式存储

      适合企业官网、个人站长类网站

      ¥106 原价¥116

    • 日销500+
      超值型云服务器

      2核CPU

      4G内存

      50G硬盘

      2M带宽

      独立IP

      分布式存储

      适合企业官网、行业门户类网站

      ¥156 原价¥171

    • 日销500+
      通用型云服务器

      4核CPU

      4G内存

      50G硬盘

      2M带宽

      独立IP

      分布式存储

      适合电商、论坛类网站

      ¥203 原价¥223

    分享到:更多 ()
      • 企业邮箱 全新登场
      • 虚拟主机
      • 云服务器

      评论 抢沙发

      • 昵称 (必填)
      • 邮箱 (必填)
      • 网址

      中国领先的互联网域名及云服务提供商

      为您提供专业域名知识,域名交易知识,云服务器知识,虚拟主机知识讲解

      域名注册云服务器