zoukankan      html  css  js  c++  java
  • sort命令

    sort命令

    作用

    主要用于对文本内容进行排序

    语法:

    sort [-bcfMnrtku][源文件][-o 输出文件

    参数:

      -b   忽略每行前面开始出的空格字符。

      -c   检查文件是否已经按照顺序排序。

      -f   排序时,忽略大小写字母。

      -M   将前面3个字母依照月份的缩写进行排序。

      -n   依照数值的大小排序。

      -o<输出文件>   将排序后的结果存入指定的文件。

      -r   以相反的顺序来排序。

      -t<分隔字符>   指定排序时所用的栏位分隔字符。

      -k  选择以哪个区间进行排序

      -u 删除重复行

    示例

    1. sort处理文件的时候是以行为单位,相互比较,原则是从首字符依次向后,依次按ASCII码值进行比较,最后将他们按升序输出

    [jeck@localhost ~]$ cat test

    dddddddddddddd

    ccccccccccc

    eeeeeeeeee

    aaaaaaaa

    bbbbbbb

    abcd

    bcd

    3

    2

    5

    1

    4

    [jeck@localhost ~]$ sort test

    1

    2

    3

    4

    5

    aaaaaaaa

    abcd

    bbbbbbb

    bcd

    ccccccccccc

    dddddddddddddd

    eeeeeeeeee

     

    1. 删除重复行 -u

    [jeck@localhost ~]$ cat test

    bbbbb

    aaaaa

    cccccc

    bbbbb

    bbbbbaa

    aaaaa

    [jeck@localhost ~]$ sort -u test

    aaaaa

    bbbbb

    bbbbbaa

    cccccc

    1. 降序排列 -r

    [jeck@localhost ~]$ sort -ur test

    cccccc

    bbbbbaa

    bbbbb

    aaaaa

    1. 把输出结果存到另一个文件中

    一般情况下用'>'即可重定向到另一个文件,但是需要直接修改本文件时,用'>'就会把原文件清空,所以需要用到-o参数

     

    [jeck@localhost ~]$ cat test

    bbbbb

    aaaaa

    cccccc

    bbbbb

    bbbbbaa

    aaaaa

    [jeck@localhost ~]$ sort -ur test > 1.txt

    [jeck@localhost ~]$ cat 1.txt

    cccccc

    bbbbbaa

    bbbbb

    aaaaa

    [jeck@localhost ~]$ cp test test1

    [jeck@localhost ~]$ sort -ur test > test       ---->定向到原文件

    [jeck@localhost ~]$ cat test

    [jeck@localhost ~]$ sort -ur test1 -o test1

    [jeck@localhost ~]$ cat test1

    cccccc

    bbbbbaa

    bbbbb

    aaaaa

     

    1. 使用数值来排序 -n

    默认sort会以行首第一个字符作比较排序,但是,当出现多位数字作比较时候,就得加-n,否则比较不成功

     

    [jeck@localhost ~]$ sort test

    1

    10

    12

    14

    2

    3

    4

    5

    会发现排序不对,现在加上-n

     

    [jeck@localhost ~]$ sort -n test

    1

    2

    3

    4

    5

    10

    12

    14

    1. 指定间隔符(-t)和列数(-k)进行排序

    [jeck@localhost ~]$ cat test

    一月 192.168.254.1 109

    二月 192.168.254.2 201

    三月 192.168.254.4 344

    现在要按访问次数从大到小排序,以空格为分隔符,指定比较第三列

    [jeck@localhost ~]$ sort -n -r -k 3 -t ' ' test

    三月 192.168.254.4 344

    二月 192.168.254.2 201

    一月 192.168.254.1 109

     

  • 相关阅读:
    AR路由器web界面每IP限速配置方法
    传输层:TCP 协议
    从需求的角度去理解Linux系列:总线、设备和驱动
    京东的个性化推荐系统
    数据挖掘-MovieLens数据集_电影推荐_亲和性分析_Aprioro算法
    Linux时间子系统之七:定时器的应用--msleep(),hrtimer_nanosleep()
    Linux SPI总线和设备驱动架构之四:SPI数据传输的队列化
    拦截器及 Spring MVC 整合
    表现层 JSP 页面实现
    Controller 层实现
  • 原文地址:https://www.cnblogs.com/pycode/p/8734241.html
Copyright © 2011-2022 走看看