首页 > 其他 > 详细

sort

时间:2015-01-11 16:00:49      阅读:274      评论:0      收藏:0      [点我收藏+]

-n选项,“要以数值来排序”!
降序,-r
-u,输出行中去除重复行
-k ,来指定列数 sort默认为升序

让facebook.txt按照员工工资降序排序,如果员工人数相同的,则按照公司人数升序排序:


此处有使用了一些小技巧,你仔细看看,在-k 3后面偷偷加上了一个小写字母r。
你想想,再结合我们上一篇文章,能得到答案么?揭晓:r和-r选项的作用是一样的,就是表示逆序。
因为sort默认是按照升序排序的,所以此处需要加上r表示第三个域(员工平均工资)是按照降序排序。
此处你还可以加上n,就表示对这个域进行排序时,要按照数值大小进行排序,举个例子吧:

$ sort -t : -k 3nr -k 2n facebook.txt
baidu :100 :5000
google:110 :5000
sohu : 100:4500
guge : 50 :3000

只针对公司英文名称的第二个字母进行排序,如果相同的按照员工工资进行降序排序:

$ sort -t -k 1.2,1.2 -k 3,3nr facebook.txt
baidu 100 5000
google 110 5000
sohu 100 4500
guge 50 3000

由于只对第二个字母进行排序,所以我们使用了-k 1.2,1.2的表示方式,表示我们“只”对第二个字母进行排序。
(如果你问“我使用-k 1.2怎么不行?”,当然不行,因为你省略了End部分,这就意味着你将
对从第二个字母起到本域最后一个字符为止的字符串进行排序)。对于员工工资进行排序,我们也使用了-k 3,3,这是最准确的表述,
表示我们“只”对本域进行排序,因为如果你省略了后面的3,就变成了我们“对第3个域开始到最后一个域位置的内容进行排序” 了。

sort

原文:http://www.cnblogs.com/wwxbi/p/4216601.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!