sort练习

SORT练习

*参考《Linux Shell编程从初学到精通》

1. 用man sort 查看sort的帮助文档

  • 首先需要对man手册进行完善,具体命令如下:
  • 然后进行man sort

2. sort常用选项有哪些,都有什么功能?提交相关使用的截图

  • -t
    sort命令是分域对文件进行排序的,默认的域分隔符是空格符,-t选项可用于设置分隔符。

  • -k
    sort命令默认情况下是按第1域进行排序的,也可以按指定某个域进行排序,-k选项就是用于指定域的。sort命令以1表示第1域、以2表示第2域,以此类推。

  • -n
    -n选项可以指定根据数字大小进行排序。-n选项不是单独使用的,一般放在域号之后,且不是按照字符串顺序排序,而是按数字大小进行排序的。

  • -r
    -r选项用于将排序结果逆向显示。

  • -u
    -u选项用于去除排序结果中的重复行。

  • -o
    sort命令默认将排序后的结果输出到屏幕上,如果需要将结果保存到另一个文件中,我们可以使用-o选项加上文件名来完成。

  • -c
    -c选项用于测试文件是否已经排好序。

  • -m
    -m选项用于将两个排好序的文件合并成一个排好序的文件。

3. 如果让你编写sort,你怎么实现?写出伪代码和相关的函数或系统调用

(1)fopen打开文件
(2)读取键盘的输入指令(如-t、-k、-n…)
(3)fread读取这个文件,当读取到空格或指令分割符(可由-t设置)时将字符串存入二维数组,且数组序号增加1
(4)主函数根据输入的指令,调用相应的函数,如:sort函数(进行排序)、write函数(-o、-m:将相应字符串存入文件)、compare函数(-u:比较是否重复)等等。

简单字符串排序练习:

  • 运行结果

  • 代码

posted @ 2021-09-27 22:50  Kylin0  阅读(60)  评论(0编辑  收藏  举报