红联Linux门户
Linux帮助

Linux sort命令参数及用法详解-Linux将文本文件内容加以排序命令

发布时间:2014-11-10 09:37:23来源:linux网站作者:linux人

功能说明:将文本文件内容加以排序。

语法:sort [-bcdfimMnr][-o<输出文件>][-t<分隔字符>][+<起始栏位>-<结束栏位>][--help][--verison][文件]

补充说明:sort可针对文本文件的内容,以行为单位来排序。

参数:
-b   忽略每行前面开始出的空格字符。
-c   检查文件是否已经按照顺序排序。
-d   排序时,处理英文字母、数字及空格字符外,忽略其他的字符。
-f   排序时,将小写字母视为大写字母。
-i   排序时,除了040至176之间的ASCII字符外,忽略其他的字符。
-m   将几个排序好的文件进行合并。
-M   将前面3个字母依照月份的缩写进行排序。
-n   依照数值的大小排序。
-o<输出文件>   将排序后的结果存入指定的文件。
-r   以相反的顺序来排序。
-t<分隔字符>   指定排序时所用的栏位分隔字符。
+<起始栏位>-<结束栏位>   以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。
--help   显示帮助。
--version   显示版本信息


下面通过几个例子来讲述Sort的使用。

用Sort命令对text文件中各行排序后输出其结果。请注意,在原文件的第二、三行上的第一个单词完全相同,该命令将从它们的第二个单词vegetables与fruit的首字符处继续进行比较。

$ cat text

vegetable soup

fresh vegetables

fresh fruit

lowfat milk

$ Sort text

fresh fruit

fresh vegetables

lowfat milk

vegetable soup

用户可以保存排序后的文件内容,或把排序后的文件内容输出至打印机。下例中用户把排序后的文件内容保存到名为result的文件中。

$ Sort text>result

以第2个字段作为排序关键字对文件example的内容进行排序。

$ Sort +1-2 example

对于file1和file2文件内容反向排序,结果放在outfile中,利用第2个字段的第一个字符作为排序关键字。

$ Sort -r -o outfile +1.0 -1.1 example

Sort排序常用于在管道中与其他命令连用,组合完成比较复杂的功能,如利用管道将当前工作目录中的文件送给Sort进行排序,排序关键字是第6个至第8个字段。

$ ls - l | Sort +5 - 7

$ ps -e -o " comm pid time"|Sort -d //按照command的首字母的字母顺序排序

Sort命令也可以对标准输入进行操作。例如,如果您想把几个文件文本行合并,并对合并后的文本行进行排序,您可以首先用命令cat把多个文件合并,然后用管道操作把合并后的文本行输入给命令Sort,Sort命令将输出这些合并及排序后的文本行。在下面的例子中,文件veglist与文件 fruitlist的文本行经过合并与排序后被保存到文件clist中。

$ cat veglist fruitlist | Sort > clist