Sort命令详解
Sort
首先在Linux中使用man参数来查看sort的相关用法
man sort
如图所示:
sort常用命令选项及其意义
选项 | 意义 |
---|---|
-c | 测试文件是否已经被排序 |
-k | 指定排序的域 |
-m | 合并两个已排序的文件 |
-n | 根据数字大小进行排序 |
-o[输出文件] | 将输出写到指定的文件,相当于将输出重定向到指定文件 |
-r | 将排序结果逆向展示 |
-t | 改变域分隔符 |
-u | 去除结果中的重复行 |
1.-k参数
sort命令默认情况下是按第1域进行排序的,也可以按指定某个域进行排序,-k选项就是用于指定域的。sort命令以1表示第1域、以2表示第2域,以此类推。
eg:初始数据为:
对第一域进行排序
sort -k1 20191307.txt
结果为:
对第二域进行排序(由于第二域数据为数字,所以要加上参数-n)
sort -n -k2 20191307.txt
结果为
2.-n参数
-n选项可以指定根据数字大小进行排序。
sort -nk3 20191307.txt
3.-r参数
-r选项用于将排序结果逆向显示
sort -nrk3 20191307.txt
4.-u参数
-u选项用于去除排序结果中的重复行,若在文件中插入几行重复的数据,排序后重复数据会被去除。
如图:
sort -nk3 -u 20191307.txt
- 排序前数据
排序后:
5.-o参数
sort命令默认将排序后的结果输出到屏幕上,如果需要将结果保存到另一个文件中,我们可以使用-o选项加上文件名来完成。
sort -nk3 -u 20191307.txt -o sort.txt
如图,在当前文件夹中生成了相应文件并排序好
6.-c参数
-c选项用于测试文件是否已经排好序
可以看出sort文件已经排序成功,20191307文件依旧是乱序。