Linux 系统函数sort

Linux 系统函数sort

作者:20191322

任务详情

  1. 用man sort 查看sort的帮助文档
  2. sort常用选项有哪些,都有什么功能?提交相关使用的截图
  3. 如果让你编写sort,你怎么实现?写出伪代码和相关的函数或系统调用

实践

sort帮助文档

代码:

man sort

sort常用选项

  1. 默认

    sort后面输入需要排序的数据,以换行符分割,按CTRL+D结束,从小到大排序

  2. -t参数

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

    我们先建立一个test_sort文件,记录各地的名称,号码等。

    然后使用-t参数对文件内部进行排序

    sort -t: test_sort #以:为域分隔符,以默认的第一个域按从小到大的方式进行排序(此时以字符的顺序比较)

  3. -k参数

sort命令默认情况下是按第一域进行排序的,也可以按指定某个域进行排序,-k就是用于指定域的

sort -t: -k2 test_sort #以:为域分隔符,以第二个域按从小到大的方式进行排序

  1. -n参数

    如果需要按照数字大小进行比较,就需要用到-n参数(否则都是以字符串形式来比较的)。-n参数可以指定根据数字大小进行排序

    sort -t: -k3n test_sort #以:为域分隔符,以第三个域按数字大小从小到大的方式进行排序

  2. -r参数

    -r参数用于将排序结果逆向显示

  3. -u参数

    -u参数可以去除排序结果中的重复行

  4. -o参数

    将输出保存到另外一个文件

  5. -c参数

    用于测试文件是否已经排好序了,如果没有排好则会有提示

  6. -m参数

    将两个排序好的文件合并为一个

伪代码实现

  1. 采用read系统函数读入需要排序的文件,并将数据保存在一个数组里

  2. 对该数组调用qsort系统函数进行排序

  3. 将排序好的数组通过write系统函数写入最开始的文件,或使用printf函数打印在屏幕上

posted @ 2021-09-27 22:49  20191322  阅读(257)  评论(0编辑  收藏  举报