Linux 的sort命令就是对文件排序的工具,sort命令功能十分强大,是Shell脚本编程时候常用的命令之一。
sort 选项 输入文件
选项
-c 测试文件是否已经排序
-k 指定的排序的域
-m 合并俩个已排序的文件
-n 根据数字大小进行排序
-r 将排序的结果逆向显示
-u 取出结果中的重复行
一,sort命令的基本用法
1,-t选项
sort命令是分域对文件进行排序的,默认的郁分隔符是空格符。-t选项可以设置分隔符。
cat install.log #查看install.log文件
sort -t: install.log #以默认的方式对install.log文件排序
用-t选项指定分隔符为冒号,注意,-t与冒号直接是没有空格的。
2,-k
sort命令默认是按照第一域进行排序的,也可以按指定的某个域进行排序,-k选项就是指定域的,sort命令以1表示第一域,2表示第二域。依次类推。
sort -t: -k2 install.log #根据第二域对install.log文件进行排序。
注意 -k和2之间也没有空格。
3,-n
-n可以指定根据数字大小进行排序
sort -t: -k2n install.log #根据第二域的数字大小进行排序。
注意,-n选项不是单独使用的,一般放在域后面,如-k2n
4,-r
-r选项用于将排序结果逆向显示。
sort -t: -k2nr install.log #将排序的结果逆向显示。
5,-u
-u选项用于去除排序结果中的重复行
sort -t: -u install.log #去除重复行
6,-o
-o选项默认将排序的结果输出到屏幕上,如果需要将结果保存到另一个文件中。可以使用-o加上文件名来完成。
sort -t: -k2n -o kangfei.log install.log
7,-c
-c选项用于测试文件是否已经排好序,
sort -t: -k2n -c install.log
8,-m
-m选项用于将俩个排好的文件合并成一个排序好的文件。-m选项对未排序的文件合并是没有意义的。
sort -t: -m a.log b.log #合并俩个文件。