linux系统下排序命令是什么呢?下面是具体介绍:
linux系统下排序命令是:sort命令。
1、sort命令功能:
Linux系统下sort命令用于将文本文件内容按某种方式排序,默认是ASCII码方式。
2、语法说明:
sort[-bcdfimMnur][-o<输出文件>][-t<分隔字符>][-k<n,m>][文件]
3、常用参数:
-b 忽略每行前面开始出的空格字符。
-c 检查文件是否已经按照顺序排序。
-d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。
-f 排序时,将小写字母视为大写字母。
-i 排序时,除了040至176之间的ASCII字符外,忽略其他的字符。
-m 将几个排序好的文件进行合并。
-M 将前面3个字母依照月份的缩写进行排序。
-n 依照数值的大小排序。
-o<输出文件> 将排序后的结果存入指定的文件。
-u 排除重复项
-r 以相反的顺序来排序。
-t<分隔字符> 指定排序时所用的栏位分隔字符。
--help 显示帮助。
--version 显示版本信息。
-k[n[,m]]指定一个或几个字段作为排序关键字,字段位置从n开始,到m为止(包括n,不包括m)。如不指定m,则关键字为从n到行尾。字段和字符的位置从0开始,第一列为1。
举例:
对file文件,按照ASCII排序
[root@host ~]# cat file
Unix
Linux
Solaris
AIX
Linux
HPUX
[root@host ~]# sort file #默认按照ascii排序
AIX
HPUX
Linux
Linux
Solaris
Unix
以上就是小编今天的分享了,希望可以帮助到大家。
Linux sort命令的使用场景
sort命令的使用场景就是对输入数据按某列的值进行升序或降序排序。
sort命令常用的命令选项有:
root@hgdm:~# bash -c 'du -sh /* | sort -hr | head -n 10' 2>/dev/null4.1G /var3.0G /usr948M /swapfile381M /data138M /boot104M /root6.5M /etc2.6M /home692K /run64K /tmp# 通过眼睛观察到,4.1G的/var目录没有排在最前面,这样的结果不符合预期root@hgdm:~# bash -c 'du -sh /* | sort -nr | head -n 10' 2>/dev/null948M /swapfile692K /run381M /data138M /boot104M /root64K /tmp16K /lost found12K /media6.5M /etc4.1G /var# 若要让sort -nr输出符合预期的结果,就要改变输入数据,把du -sh改为du -sroot@hgdm:~# bash -c 'du -s /* | sort -nr | head -n 10' 2>/dev/null4196744 /var3088028 /usr969976 /swapfile389216 /data140876 /boot106084 /root6616 /etc2576 /home692 /run64 /tmp
sort -hr vs. sort -nr
例子2:使用-k指定按第几列的值进行排序# 使用下面的命令查一下ps aux的标题行root@hgdm:~# ps aux | head -n 1USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND# grep -v '%CPU'表示不包含或过滤掉%CPU所在的行# sort -nr -k3指按第三列(即CPU那一列)的值的数字进行降序排序# awk '{ print $1,$2,$3,$4 }'指只输出第1列的值(USER列,即用户或属主列)、第2列的值(PID列,即进程号列)、第3列的值(CPU列)、第4列的值(MEM列,即内存列)# head -n 10指只输出结果集的前十行数据root@hgdm:~# ps aux | grep -v '%CPU' | sort -nr -k3 | awk '{ print $1,$2,$3,$4 }' | head -n 10root 659890 2.3 0.8mysql 994722 0.5 6.9helper 1117825 0.4 0.6helper 1117760 0.4 0.6helper 1117730 0.4 0.6helper 1117832 0.3 0.6helper 1117821 0.3 0.5helper 1117814 0.3 0.6helper 1117807 0.3 0.6helper 1117788 0.3 0.6
sort -k的用法