20191317王鹏宇sort
2021/9/27 23:13:03
本文主要是介绍20191317王鹏宇sort,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
sort
实践内容:使用man指令查看sort用法:
实践截图:
使用man sort查看sort指令的用法:
Sort是用于对单个或多个文本文件内容进行排序的Linux程序。Sort命令以空格作为字段分隔符,将一行分割为多个关键字对文件进行排序。需要注意的是除非你将输出重定向到文件中,否则Sort命令并不对文件内容进行实际的排序(即文件内容没有修改),只是将文件内容按有序输出。
参数:
- -b 忽略每行前面开始出的空格字符。
- -c 检查文件是否已经按照顺序排序。
- -d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。
- -f 排序时,将小写字母视为大写字母。
- -i 排序时,除了040至176之间的ASCII字符外,忽略其他的字符。
- -m 将几个排序好的文件进行合并。
- -M 将前面3个字母依照月份的缩写进行排序。
- -n 依照数值的大小排序。
- -o将排序后的结果存入指定的文件。
- -r 以相反的顺序来排序。
- -t指定排序时所用的栏位分隔字符。
- --help 显示帮助。
- --version 显示版本信息
实践内容:sort命令使用:
下图是20191317.txt文件的内容:
指令:cat sort.txt | sort
实践截图:
在上面的命令中,当前的排序是按照首个字符进行的,这一行不应该在最后一行吗?所以按照首字符大小,确实是从小到大的排序,而如果想要指定按照“数字”的方式进行排序,则需要加上-n参数。
接下来是sort实现逆向排序:
指令:cat sort.txt | sort -n -r
可以从输出结果看出,确实实现了逆向排序。
下面是sort实现选择分隔符进行排序:
指令:cat stu.txt |sort -t':' -k 3 -n stu.txt
文件stu.txt内容:
使用-t来选择分隔符,使用-k来选择区域:
当选择第三个区域进行排序:会对最后面的数字进行从小到大的排序
选择第一个区域进行排序:会对最前面的学号进行从小到大的排序
以下是几个常用的sort命令:
-f会将小写字母都转换为大写字母来进行比较,亦即忽略大小写
-c会检查文件是否已排好序,如果乱序,则输出第一个乱序的行的相关信息,最后返回1
-C会检查文件是否已排好序,如果乱序,不输出内容,仅返回1
-M会以月份来排序,比如JAN小于FEB等等
-b会忽略每一行前面的所有空白部分,从第一个可见字符开始比较。
实践内容:编写伪代码:
伪代码如下:
#include<stdio.h> #include<stdlib.h> #include<string.h> //设置学生结构体 struct student{ stuNum; //学号 name[20];//姓名 score;//成绩 }; //读取文件内容到结构体 void readfile() { FILE *fd; // filename 的文件描述符 fscanf(fd,"%d %s %d", a->stuNum, &a->name, &a->score) //将文件内容传递到结构体数组中 fclose(fd); } //依据学生学号排序 void stuNum_sort() { 对结构体数组中存储学号按照大小进行正向冒泡排序 输出排序好的学号姓名成绩 } //依据学生姓名排序 void sort() { 对结构体数组存储的姓名按照ascii码大小进行正向冒泡排序 输出排序好的学号姓名成绩 } //依据成绩进行排序 void stuScore_sort(student *stu,int n) { 对结构体数组存储的成绩按照大小进行正向冒泡排序 输出排序好的学号姓名成绩 } //main函数 int main() { 输入文件名filename; readfile(filename); 输入排序方式t; switch (t) { case 1: stuNum_sort();//学号排序 break; case 2: name_sort();//姓名排序 break; case 3: score_sort();//成绩排序 break; } return 0; }
这篇关于20191317王鹏宇sort的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-14后台交互资料入门指南
- 2024-11-14如何轻松创建项目环境:新手入门教程
- 2024-11-14如何抽离公共代码:初级开发者指南
- 2024-11-14Python编程入门指南
- 2024-11-14Python编程入门:如何获取参数
- 2024-11-14JWT 用户校验:简单教程与实践
- 2024-11-14Pre-commit 自动化测试入门指南
- 2024-11-14Python编程基础
- 2024-11-14Server Action入门教程:轻松掌握服务器操作
- 2024-11-14Server Component入门教程:轻松搭建服务器组件