1.用man sort 查看sort的帮助文档
2.sort常用选项有哪些,都有什么功能?提交相关使用的截图
sort
-n 以整数类型比较字段
-o outfile 将输入写到指定文件,而非标准输出。如果该文件为输入文件之一,则sort 在进行配需与写到输入文件之前,会先将它复制到一个临时文件
-c 检查文件是否已经按照顺序排序
-r 倒置排序的顺序为 由大至小(descending),而非默认的由小至大(ascending)
-u 只有唯一的记录,丢弃所有具有相同键值的记录,只留其中的第一条。只有键值字段是重要的,也就是说:被丢弃的记录其他部分可能是不同值
-
-b 忽略开头的空白
-
-d 字典顺序:仅文字数字与空白才有意义
-
-f 以不管字母大小写的方式排序
-
-g 一般数值:以浮点数字类型比较字段。这个选项的运作有点类似 -n.差别仅在于这个选项的数字可能有小数点及指数。(仅GNU版本提供此功能)
-
-m 将以排除的输入文件,合并为一个排序后的输出数据流。
-
-i 忽略无法打印的字符
-
-k 定义排序键值字段(该选项后接一个字段编号,或则是一对数字。有时-k之后可用空白分隔。每个编号后都可以接一个点号的字符位置,及/ 或 修饰符(modifier)字母之一,且当出现多个-k选项时候,会先从第一个键值开始排序,找出匹配该键值的记录后,再进行第二个键值字段的排序,以此类推。)
3. 如果让你编写sort,你怎么实现?写出伪代码和相关的函数或系统调用
open系统调用打开文件。
read系统调用读取文件。
确定关键字,如学号,成绩等。
根据关键字进行排序,从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。
close系统调用关闭文件。
输出排序完成的内容。