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

伪代码见云班课附件

原文地址:https://www.cnblogs.com/ruier/p/15344961.html