Linux Shell 操作命令 目录总览 (点击查看详细信息) https://blog.51cto.com/11495268/2338219
1, 简介
sort 命令能够帮助我们对文本文件和 stdin 进行排序操作; 通常 会 结合其他命令来生成所需要的输出
2, 用法 / 命令格式
sort [选项] [文件名]
3, 常用参数解析
参数 | 描述 |
---|---|
-n | 基于字符串的长度来排序, 使用此选项允许根据数字值排序,而不是字母值 |
-k | 指定排序关键字 |
-b | 默认情况下,对整行进行排序,从每行的第一个字符开始。这个选项导致 sort 程序忽略每行开头的空格,从第一个非空白字符开始排序 |
-m | 只合并多个输入文件 |
-r | 按相反顺序排序, 结果按照降序排列,而不是升序 |
-t | 自定义分隔符,默认为制表符 |
4, 常用案例
4.1 ceph 磁盘 使用率 查询 (单列排序)
- ## -k 指定排序关键字
- ## -n 根据数字值排序, 而不是字母值
- # ceph osd df | sort -k 7 -n
- ID WEIGHT REWEIGHT SIZE USE AVAIL %USE VAR
- MIN/MAX VAR: 0.00/1.37 STDDEV: 17.40
- TOTAL 55449G 13848G 41601G 24.97
- 29 0.04999 1.00000 55810M 42004k 55769M 0.07 0.00
- 12 1.00000 1.00000 55810M 292M 55518M 0.52 0.02
- 13 1.00000 0.85999 55810M 361M 55449M 0.65 0.03
- 10 0.04999 1.00000 55810M 370M 55440M 0.66 0.03
- 2 1.00000 0.92999 55810M 382M 55427M 0.69 0.03
- 26 1.00000 1.00000 3704G 838G 2865G 22.63 0.91
- 22 1.00000 0.92999 3704G 892G 2811G 24.09 0.96
- 20 3.62000 0.85999 3704G 919G 2784G 24.82 0.99
- 15 1.00000 0.92999 3704G 932G 2772G 25.16 1.01
- 23 2.70999 1.00000 2773G 946G 1826G 34.12 1.37
4.2 ceph 磁盘 使用率 查询 (多列 排序)
4.2.1 语法解释
- ## Modifier 部分就是类似 n 和 r 的选项部分
- ## FStart.CStart 选定 大的范围
- ## FStart 就是表示使用的域
- ## CStart 则表示在 FStart 域中从第几个字符开始算 "排序首字符"(FEnd 未设定时以这个为准)
- ## CStart 是可以省略的, 省略的话就表示从本域的开头部分开始
- ## FEnd.CEnd 选定 小的范围, 可以不设定
- ## FEnd 表示 从 第几列 排序
- ## 如果不设定 End 部分, 那么就认为 End 被设定为行尾
- ## 如果你省略. CEnd, 则表示结尾到 "域尾", 即本域的最后一个字符
- ## CEnd 设定为 0(零), 也是表示结尾到 "域尾".
- # ceph osd df | sort [ FStart [ .CStart ] ] [ Modifier ] [ , [ FEnd [ .CEnd ] ][ Modifier ] ]
4.2.2 事例
- ## 先选定 5 ~ 8 列
- ## 在 5 ~ 8 列之间, 从第 七列 开始 排序, 第八列 结束 (不知道 怎么 就成了 降序了)
- ## 个人觉得 后面 的 缩小 列范围 是个 鸡肋 功能
- # ceph osd df | sort -k 5.8n,7.8
- ID WEIGHT REWEIGHT SIZE USE AVAIL %USE VAR
- MIN/MAX VAR: 0.00/1.37 STDDEV: 17.40
- TOTAL 55449G 13848G 41601G 24.97
- 23 2.70999 1.00000 2773G 946G 1826G 34.12 1.37
- 15 1.00000 0.92999 3704G 932G 2772G 25.16 1.01
- 20 3.62000 0.85999 3704G 919G 2784G 24.82 0.99
- 22 1.00000 0.92999 3704G 892G 2811G 24.09 0.96
- 26 1.00000 1.00000 3704G 838G 2865G 22.63 0.91
- 2 1.00000 0.92999 55810M 382M 55427M 0.69 0.03
- 10 0.04999 1.00000 55810M 370M 55440M 0.66 0.03
- 13 1.00000 0.85999 55810M 361M 55449M 0.65 0.03
- 12 1.00000 1.00000 55810M 292M 55518M 0.52 0.02
- 29 0.04999 1.00000 55810M 42004k 55769M 0.07 0.00
4.3 去重 (建议 使用 unique)
- ## 原谅我 没彻底 搞明白 这个 排序的逻辑思维, 简单了解下
- ## 不想过多解释, 对排序的 那一列 数值的数据 去重 (只针对 数值 有效, 字母无效)
- ## -u 去除 重复的行
- # ceph osd df | sort -k 4 -n -u
- GHT REWEIGHT SIZE USE AVAIL %USE VAR
- 23 2.70999 1.00000 2773G 946G 1826G 34.12 1.37
- 15 1.00000 0.92999 3704G 932G 2772G 25.16 1.01
- TOTAL 55449G 13848G 41601G 24.97
- 2 1.00000 0.92999 55810M 382M 55427M 0.69 0.03
来源: http://www.bubuko.com/infodetail-2994191.html