sort指令
一、帮助文档
二、sort常用选项
1.sort:默认排序方式,即升序
2.sort -r:降序排序
3.sort -u:去除重复的行
4.sort -f:忽略大小写
在我进行测试的时候我发现加了-f和不加-f的排序结果是一样的。比如a、b、1、Q,sort命令按照ASCII码排序,则不加-f时排序结果应为1、Q、a、b,加了-f的排序结果应为1、a、b、Q,而现在两个结果都是1、a、b、Q,原来以为只有我一个人有问题,和同学交流后发现其他人也有这种问题,暂时还没发现是什么原因。
5.sort -b:忽略每行开始的空格
这个命令我也发现了问题,加-b和不加-b的结果也是一样的,输入3、f、(空格)z、2,不加-b时,(空格)z这一行应该按照空格排序,应该放在第一个,即(空格)z、2、3、f;加了-b,(空格)z这一行应该按照z进行排序,即顺序为2、3、f、(空格)z,而现在两次排序的结果都是一样的。
6.对文件排序
7.sort -n:按数值排序
8.sort -o:将排序结果写入文件中。
二、实现sort的伪代码
1.打开文件
2.读取文件
3.排序
4.写入排序结果(不是必须)
5.关闭文件
可能调用的相关函数:open(打开文件),read(读取文件),write(写入结果),shuf(排序),uniq(删除重复行)
系统或函数调用:#include <sys/types.h>
include <sys/stat.h>
include <fcntl.h>
include <unistd.h>
int open (const char *pathname,int flags);
int open (const char *pathname,int flags,made_t mode);