Linux 操作命令 sort

Linux Shell 操作命令 目录总览(点击查看详细信息)

 

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 

原文地址:https://blog.51cto.com/11495268/2366251

时间: 2024-10-19 08:36:25

Linux 操作命令 sort的相关文章

Linux Shell sort 指定排序第几列

ip.txt 里存储着ip信息 统计排序后取前10条 awk '{cnt[$1]++} END{for (ip in cnt) print ip":"cnt[ip]}' ip.txt | sort -k 2 -rn -t":" | head -n 10 awk '{cnt[$1]++} END{for (ip in cnt) print cnt[ip],ip}' ip.txt | sort -rn | head -n 10 sort -k  根据第几列排序  -n

Linux操作命令(一)

su 英文解释:switch user 作用:切换当前登录的用户到其他用户. 使用方法:su [-l] username 实例: [[email protected] ~]# clear [[email protected] ~]# su hby [[email protected] root]$ [[email protected] root]$ su root 密码: [[email protected] ~]# su -l hby [[email protected] ~]$ passwd

Linux echo, sort, sed 等一些命令总结

linux echo, sort, sed是初学linux shell script 的一些常用的命令.基本上来说,如果能够掌握了这些命令,我们就能写出一些不错的linux脚本.以下是我遇到的以下常用的echo,sort, sed等命令的一些应用; 1.  echo -e: BW="f25\nf50\nf75\nf100\n"; 如果直接echo $BW, 结果是f25\nf50\nf75\nf100\n.所以我们必须加上-e选项才能实现换行的目的,即echo -e $BW Note:

[z] linux之sort用法

linux之sort用法 sort命令是帮我们依据不同的数据类型进行排序,其语法及常用参数格式: sort [-bcfMnrtk][源文件][-o 输出文件] 补充说明:sort可针对文本文件的内容,以行为单位来排序. 参 数:  -b   忽略每行前面开始出的空格字符.  -c   检查文件是否已经按照顺序排序.  -f   排序时,忽略大小写字母.  -M   将前面3个字母依照月份的缩写进行排序.  -n   依照数值的大小排序.  -o<输出文件>   将排序后的结果存入指定的文件. 

Linux之sort

sort是在Linux里非常常用的一个命令,管排序的,集中精力,五分钟搞定sort,现在开始! 1 sort的工作原理 sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出. [[email protected] programming]$ cat seq.txtbananaapplepearorange[[email protected] programming]$ sort seq.txtapplebananaorangep

二、Linux操作命令积累【mkdir、groupadd、groupdel、useradd、userdel】

在使用Linux/UNIX下,经常互使用文本界面去设置系统或操作系统,作者本人在工作的过程也在不断接触这方面的命令,所以为此特酝酿.准备.开始了本文的编写.本文主要记录自己平时遇到的一些Linux/UNIX下操作命令,记录与整理一下,一可加深印象,二可记录分享.希望各位看官,对于不合适的或有歧义的地方,给予指明与说明,以便共同学习与提高. [转载使用,请注明出处:http://blog.csdn.net/mahoking] 004 Linux mkdir命令 [make directory] 1

Linux中sort命令

Linux sort命令用于将文本文件内容按某种方式排序,默认是ASCII码方式: 语法说明: sort[-bcdfimMnur][-o<输出文件>][-t<分隔字符>][-k<n,m>][文件] 常用参数: -b 忽略每行前面开始出的空格字符. -c 检查文件是否已经按照顺序排序. -d 排序时,处理英文字母.数字及空格字符外,忽略其他的字符. -f 排序时,将小写字母视为大写字母. -i 排序时,除了040至176之间的ASCII字符外,忽略其他的字符. -m 将几

Linux下sort命令的使用

Linux下的sort命令默认将文件中的每一行为单位,进行排序,然后输出.具体地,就是从每行的第一个字符开始,依次按ASCII码值进行比较,最后将结果按升序排序输出. 1.sort常用选项 -u 在排序的时候忽略相同的行,类似于uniq命令,不过uniq命令只能跳过相邻的相同行,并不能进行排序. -n 按照数字大小排序,而不是文本的ascii码顺序. -r 反序,也就是降序. -t 指定列分隔符,注意这里的分隔符只能是一个字符,不能是多个字符,-t, --field-separator=SEP

Linux操作命令积累

在使用Linux/UNIX下,经常互使用文本界面去设置系统或操作系统,作者本人在工作的过程也在不断接触这方面的命令,所以为此特酝酿.准备.开始了本文的编写.本文主要记录自己平时遇到的一些Linux/UNIX下操作命令,记录与整理一下,一可加深印象,二可记录分享.希望各位看官,对于不合适的或有歧义的地方,给予指明与说明,以便共同学习与提高. [转载使用,请注明出处:http://blog.csdn.net/mahoking] Linux命令格式 1. Linux命令格式:命令字 [命令选项] [命