sort命令,在linux系统使用过程中,提供了sort排序命令,支持常用的排序功能。 常用参数 sort命令支持很多参数,常用参数如下: 短参数长参数说明n– numbersort按...
详情
在linux系统使用过程中,提供了sort排序命令,支持常用的排序功能。
常用参数
sort命令支持很多参数,常用参数如下:
短参数 | 长参数 | 说明 |
---|---|---|
-n | – number-sort | 按字符串数值排序,与-g区别为不转为浮点数 |
-g | –general-number-sort | 按通用数值排序,支持科学计数法 |
-f | –ignore-case | 忽略大小写,默认大小写字母不同 |
-k | –key=POS1[,POS2] | 排序从POS1开始,若指定POS2,则POS2结束,否则以pos1排序 |
-t | –field-separator=SEP | 指定列的分割符 |
-r | –reverse | 降序排序,默认为升序 |
-h | –human-numeric-sort | 使用易读性数字(例如: 2K 1G) |
-u | –unique | 去除重复的行 |
-o | –output=FILE | 将输出写入文件 |
常用用法举例
1.默认排序
默认情况下,sort命令,以字母序进行文本排序。如下:
[guodong@proxy ~]$ cat word.txtonetwothreefour[guodong@proxy ~]$ sort word.txtfouronethreetwo
2.数字排序
如果想对数字进行排序,可以使用-n参数
[guodong@proxy ~]$ cat num.txt100203[guodong@proxy ~]$ sort num.txt -n320100
3.指定列排序
sort排序的时候,可以按字段分割的数据进行排序。-t参数表示行的分割字符,-k表示第几列。当然,可以进行降序排序,-r参数可以实现。
下面是对passwd文件,以冒号(:)进行分割,然后对第三列以数字方式进行降序排序。
[guodong@proxy ~]$ cat passwddaemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologinbin:x:2:2:bin:/bin:/usr/sbin/nologinsys:x:3:3:sys:/dev:/usr/sbin/nologinsync:x:4:65534:sync:/bin:/bin/syncgames:x:5:60:games:/usr/games:/usr/sbin/nologinman:x:6:12:man:/var/cache/man:/usr/sbin/nologinlp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologinmail:x:8:8:mail:/var/mail:/usr/sbin/nologin[guodong@proxy ~]$ sort -t ':' -k 3 -nr passwdmail:x:8:8:mail:/var/mail:/usr/sbin/nologinlp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologinman:x:6:12:man:/var/cache/man:/usr/sbin/nologingames:x:5:60:games:/usr/games:/usr/sbin/nologinsync:x:4:65534:sync:/bin:/bin/syncsys:x:3:3:sys:/dev:/usr/sbin/nologinbin:x:2:2:bin:/bin:/usr/sbin/nologindaemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
4.文件夹大小排序
在du的时候,加上-h可以使用易读性数字,比如2k,1g,3M这种。sort也支持-h参数。
比如,du一个文件夹下的目录大小后,想以文件大小进行排序。由于du -h的结果是3k,2M,1G这种,不能简单的按数字排序。所以,可以使用-h参数。具体如下:
[guodong@proxy ~]$ du -h2.0G ./test24.0K ./test3316M ./test2.3G .[guodong@proxy ~]$ du -h |sort -hr2.3G .2.0G ./test2316M ./test4.0K ./test3
5.系统进程内存占用排序
查看系统进程中,内存占用最多的前5个进程信息
[guodong@proxy ~]$ ps aux|sort -gr -k 4|head -n 5shuanghu 1740 15.7 4.6 1506764 189872 ? Sl 5月07 142:08 compizroot 1304 2.1 1.9 338928 80208 tty7 Ssl+ 5月07 19:29 /usr/bin/X -core :0 -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitchshuanghu 1933 0.0 1.1 1074520 46708 ? Sl 5月07 0:00 /usr/lib/evolution/evolution-calendar-factoryshuanghu 1833 0.0 0.8 974900 34468 ? Sl 5月07 0:01 nautilus -nshuanghu 2111 0.0 0.6 655712 24920 ? Sl 5月07 0:16 gnome-terminal
6.对文件内容进行去重
如果文件内容有很多重复的,需要进行去重。sort也是支持的,可以通过-u参数使用
[guodong@proxy ~]$ cat word.txtonetwotwothreethreethreefourfourfour[guodong@proxy ~]$ sort -u word.txtfouronethreetwo
7.将sort输出内容写入文件
在shell中,一般将控制台内容写入文件,可以使用重定向,但如果想把sort的排序内容写回文件,则不能使用重定向。则需要-o参数。具体如下:
[guodong@proxy ~]$ cat word.txtonetwothreefour[guodong@proxy ~]$ sort word.txt > word.txt[guodong@proxy ~]$ cat word.txt #输出为空[guodong@proxy ~]$ sort word.txt -o word.txt[guodong@proxy ~]$ sort -u word.txtfouronethreetwo
您还可以搜索:sort命令详解,stata sort命令,bysort命令,shell sort命令,sort命令排序,sort命令用法,sort命令用于将文本文件内容加以排序,sort命令去除重复,sort命令用于将文本,sort命令用于将文本内容排序④
sort命令
版权声明:如发现本站有涉嫌抄袭的内容请联系客服!
推荐 : #tag #tag #tag
裤子怎么读英语 裤子的英文怎么读
危险用英语怎么说 危险的英语是什么 危险的英语怎么说读