linux sort 指令的学习与使用

linux sort 指令的学习与使用

任务

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

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

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

什么是sort命令

Linux sort 命令用于将文本文件内容加以排序。
sort 可针对文本文件的内容,以行为单位来排序。

  • 使用 man -k sort 查看 sort 命令的 参数 使用方法 函数调用 等信息。

PS: OpenEuler操作系统就对man指令这个功能强大的手册支持不佳。

sort命令的参数说明

  • -b 忽略每行前面开始出的空格字符。

  • -c 检查文件是否已经按照顺序排序。

  • -d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。

  • -f 排序时,将小写字母视为大写字母。

  • -i 排序时,除了040至176之间的ASCII字符外,忽略其他的字符。

  • -m 将几个排序好的文件进行合并。

  • -M 将前面3个字母依照月份的缩写进行排序。

  • -n 依照数值的大小排序。

  • -u 意味着是唯一的(unique),输出的结果是去完重了的。

  • -o<输出文件> 将排序后的结果存入指定的文件。

  • -r 以相反的顺序来排序。

  • -t<分隔字符> 指定排序时所用的栏位分隔字符。

  • +<起始栏位>-<结束栏位> 以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏
    位。

  • --help 显示帮助。

  • --version 显示版本信息。

  • [-k field1[,field2]] 按指定的列进行排序。

sort语法

sort [-bcdfimMnr][-o<输出文件>][-t<分隔字符>][+<起始栏位>-<结束栏位>][--help][--verison][文件][-k field1[,field2]]

常用sort命令实践

  • sort命令实践

实现排序

  • sort-b命令实践

忽略前空白进行排序

  • sort-o命令实践

指定输出文件

  • sort-c命令实践

检查文件是否已排好序,若排好序不进行输出,若未排好序则进行输出。

  • sort-n命令实践

按照数值大小排序

  • sort-f命令实践

无视大小写

  • sort-u命令实践

去除重复元素

  • sort-r命令实践

倒序排序

  • sort-t命令实践

对结构按一定规则排序

如何实现sort命令

设置结构体{
    参一
    参二
    参三
}结构体

排序函数(缓冲数组指针){
    调用C语言标准库中qsort函数进行快速排序
}

main(){
    传入敏感参数(以结构体中某项参数为基准)
    使用open系统调用打开指定文件
    使用read系统调用从指定文件中读取内容到buf缓冲数组,直到文档结束
    调用 排序函数 传入缓冲数组指针
    按照 结构体.参数 进行输出
    使用close系统调用关闭文件
}





20191331lyx
2021/9/28

原文地址:https://www.cnblogs.com/DKYcaiji/p/15346073.html