Chinaunix首页 | 论坛 | 博客
  • 博客访问: 621471
  • 博文数量: 154
  • 博客积分: 8323
  • 博客等级: 中将
  • 技术积分: 2060
  • 用 户 组: 普通用户
  • 注册时间: 2008-02-13 02:17
文章分类

全部博文(154)

文章存档

2011年(2)

2010年(117)

2009年(5)

2008年(30)

分类: LINUX

2010-07-08 12:01:40

sort命令可以对一个文件中的文本行进行排序. 以下几个例子来演示如何使用sort命令, 样例文本是雇员数据, 格式如下: employee_name:employee_id:department_name.

1[root@hexu.org ~]# cat names.txt
2Emma Thomas:100:Marketing
3Alex Jason:200:Sales
4Madison Randy:300:Product Development
5Sanjay Gupta:400:Support
6Nisha Singh:500:Sales

1) 以升序对文本排序


1[root@hexu.org ~]# sort names.txt
2Alex Jason:200:Sales
3Emma Thomas:100:Marketing
4Madison Randy:300:Product Development
5Nisha Singh:500:Sales
6Sanjay Gupta:400:Support


2) 以降序对文本排序


1[root@hexu.org ~]# sort -r names.txt
2Sanjay Gupta:400:Support
3Nisha Singh:500:Sales
4Madison Randy:300:Product Development
5Emma Thomas:100:Marketing
6Alex Jason:200:Sales

3) 对一个使用冒号分隔的文件的第二项进行排序(也就是 employee_id)


1[root@hexu.org ~]# sort -t: -k 2 names.txt
2Emma Thomas:100:Marketing
3Alex Jason:200:Sales
4Madison Randy:300:Product Development
5Sanjay Gupta:400:Support
6Nisha Singh:500:Sales

4) 使用 tab分隔的第三项进行排序(department_id),并去掉重复项


1[root@hexu.org ~]# sort -t: -u -k 3 names.txt
2Emma Thomas:100:Marketing
3Madison Randy:300:Product Development
4Alex Jason:200:Sales
5Sanjay Gupta:400:Support

5) passwd 文件的第三项进行排序(userid)


1[root@hexu.org ~]# sort -t: -k 3n /etc/passwd | more
2root:x:0:0:root:/root:/bin/bash
3bin:x:1:1:bin:/bin:/sbin/nologin
4daemon:x:2:2:daemon:/sbin:/sbin/nologin
5adm:x:3:4:adm:/var/adm:/sbin/nologin
6lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

6) 基于ip地址对/etc/hosts文件排序


1[root@hexu.org ~]# sort -t . -k 1,1n -k 2,2n -k 3,3n -k 4,4n /etc/hosts
2127.0.0.1 localhost.localdomain localhost
3192.168.100.101 dev-db.thegeekstuff.com dev-db
4192.168.100.102 prod-db.thegeekstuff.com prod-db
5192.168.101.20 dev-web.thegeekstuff.com dev-web
6192.168.101.21 prod-web.thegeekstuff.com prod-web

7) 与其它命令组合在一起使用


1[root@hexu.org ~]#ps -ef | sort 对进程列表进行排序
2[root@hexu.org ~]#ls -al | sort +4n 使用升序对 ls -al 的输出以文件大小进行排序(第 5 项)
3[root@hexu.org ~]#ls -al | sort +4nr 使用降序对 ls -al 的输出以文件大小进行排序(第 5 项)
阅读(886) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~