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文件依旧是乱序。

浙公网安备 33010602011771号