介绍sort命令是帮助我们根据不同的数据类型进行排序,其语法及常用参数格式:sort[-bcfMnrtk][源文件][-o输出文件]补充说明:sort可以以行为单位对文本文件的内容进行排序。参数-b忽略每行前面的所有空白,从第一个可见字符开始比较。-c将检查文件是否已排序。如果乱序,则输出第一个乱序行的相关信息,最后返回1。-C会检查文件是否排序,如果乱序,则不输出内容,onlyreturn1-u输出重复行-f会将所有小写字母转换为大写字母进行比较,即忽略大小写。-M会按月份排序,比如JAN小于FEB等-n会按值的大小排序。-o将排序后的结果保存到指定的文件中。-r逆序排序。-t指定用于排序的列分隔符。-k选择要排序的范围。示例排序将文件的每一行作为一个单元进行比较。比较原理是从第一个字符开始向后比较ASCII码值,最后按升序输出。[root@localhost~]#catsort.txtbananaapplepearorange[root@localhost~]#sortsort.txtapplebananaorangepear[root@localhost~]#sortsort2.txt12345#注意按照acii码221339349782999升序排列去除重复行[rocrocket@rocrocketprogramming]$catseq.txtbananaapplepearorangepearsort[rocrocket@rocrocketprogramming]$sortseq.txtapplebananaorangepearpear[rocrocket@rocrocketprogramming]$sort-useq.txtapplebananaorangepearsort的-o选项输出到一个文件由于sort将结果输出到默认是标准输出,所以需要重定向将结果写入文件,比如sortfilename>newfile。但是,如果要将排序结果输出到原始文件中,使用重定向是行不通的。[rocrocket@rocrocketprogramming]$sort-rnumber.txt>number.txt[rocrocket@rocrocketprogramming]$catnumber.txt[rocrocket@rocrocketprogramming]$看,号码居然清空了。这时出现了-o选项,成功解决了这个问题,让你可以放心地将结果写入到原始文件中。这可能是-o相对于重定向的唯一优势。[rocrocket@rocrocket编程]$catnumber.txt13524[rocrocket@rocrocket编程]$sort-rnumber.txt-onumber.txt[rocrocket@rocrocket编程]$catnumber.txt54321-n选项,按数字排序[root@localhost~]#sort-rsort2.txt99978234933922112345#默认是按字符排序,从前到后,其中第一个1最小[root@localhost~]#sort-r-nsort2.txt12345999782349339221sort的-t选项和-k选项按照指定的分隔符然后指定的列数排序[rocrocket@rocrocketprogramming]$catfacebook.txtbanana:30:5.5apple:10:2.5pear:90:2.3orange:20:3.4#这个文件一共有三列,column和column用冒号隔开,第一列表示水果的种类,第二列表示水果的数量,第三列表示水果的价格。那我想按水果个数排序,也就是按第二列排序,怎么用sort来实现呢?幸运的是,sort提供了-t选项,分隔符可以稍后设置。指定分隔符后,可以使用-k指定列数。[rocrocket@rocrocket编程]$sort-n-k2-t':'facebook.txtapple:10:2.5orange:20:3.4banana:30:5.5pear:90:2.3$sort-n-t''-k3r-k2facebook.txt#sort支持这个设置,也就是说设置字段排序的优先级,先按第二个字段排序,如果相同再按第三个字段排序。(如果愿意,可以一直这样写,设置多个排序优先级)baidu1005000google1105000sohu1004500guge503000更多参考:http://www.cnblogs.com/51linu...文末有时有一些闲置的鸡蛋可以试试