sort

sort练习

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

2.sort常用选项

短参数 长参数 说明
-n – number-sort 按字符串数值排序,与-g区别为不转为浮点数
-g –general-number-sort 按通用数值排序,支持科学计数法
-f –ignore-case 忽略大小写,默认大小写字母不同
-k –key=POS1[,POS2] 排序从POS1开始,若指定POS2,则POS2结束,否则以pos1排序
-t –field-separator=SEP 指定列的分割符
-r –reverse 降序排序,默认为升序
-h –human-numeric-sort 使用易读性数字(例如: 2K 1G)
-u –unique 去除重复的行
-o –output=FILE 将输出写入文件
  • 常用用法举例
    1.默认排序

    2.数字排序
    使用-n对数字进行排序

    3.指定列排序
    sort排序的时候,可以按字段分割的数据进行排序。-t参数表示行的分割字符,-k表示第几列
    下列是使用"/"进行分割,不同列情况下的排序

    4.对文件内容进行去重
    如果文件内容有很多重复的,需要进行去重,可以通过使用-u参数

    5.降序排序
    -r 以相反的顺序来排序
    • 同时发现参数字母好像可以进行合并,经过实验sort -n -r num.txt与sort -nr num.txt结果相同

      6.将sort输出内容写入文件
      想把sort的排序内容写回文件,可以使用-o

      7.检查文件内容是否已排好序
      -c会检查文件是否已排好序,如果乱序,则输出第一个乱序的行的相关信息,最后返回1
      -C会检查文件是否已排好序,如果乱序,不输出内容,仅返回1

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

代码思路:
1.尝试寻找可以使用的系统调用或C库函数



但是并没有老师上课所说的2组与3组,不知道为什么,只能进行想法构想

  • 使用open系统调用需要打开的文件
  • 使用read系统调用读取文件内容
  • 使用qsort函数进行排序
  • 如果有需要新文件使用creat创建一个新的文件放置新的文本
  • 使用write将排序好的内容进行输出

    参考网页:https://blog.csdn.net/qq_16836151/article/details/51527160
原文地址:https://www.cnblogs.com/tzy20191327/p/15345661.html