20191310李烨龙作业:MySort
作业:MySort
任务详情
1. 用man sort 查看sort的帮助文档
2. sort常用选项有哪些,都有什么功能?提交相关使用的截图
3. 如果让你编写sort,你怎么实现?写出伪代码和相关的函数或系统调用
完成过程
1.用man sort 查看sort的帮助文档
sort的用法如下:
sort [OPTION] ... [FILE] ...
2.sort常用选项有哪些,都有什么功能?提交相关使用的截图
关于OPTION是指sort的指令选项,通过这些选项可以让sort完成不同的功能,其中主要的选项如下:
1. -n 将文件中的字符以数字的形式按照顺序排序
2. -r 将文件中的内容按照倒叙排序
3. -k 将文件中的内容依据key的内容来进行排序
4. -c 判断文件是否已经排序完成
5. -o 将输出写入指定文件
6. -t 改变分隔符(默认为空格)
7. -u 去除结果中的重复行
8. -m 合并两个已排序的文件(不会对文件进行排序)

1. -k 指令,指定第二个域进行排序。


2.-o指令,将排序输出到目标文件中。

该指令无法创建目标文件,需要提前touch filename。

按照我的预想来看,应该会将文件按照第一个域进行排序并将结果输出到目标文件中,但是结果是两个文件都被清空了。
发现参数反了,应该是 -o 目标文件 原文件,可以看见文件2确实是本次输出的结果。

3.-u指令,将文件中的重复内容删除。

4.-c指令,判断文件是否为有序的。

5.-m指令,合并两个已排序文件。

可以看到合并之后的顺序十分杂乱,因为两个文件是按照不同域来进行排序的,所以对于该指令来说两个文件不是有序的,输出的内容是无意义的。该指令不会更改文件的内容。

3.如果让你编写sort,你怎么实现?写出伪代码和相关的函数或系统调用
代码思路:该指令本身实现十分简单,排序方面只需要使用系统调用qsort,比较复杂部分的是如何实现sort的众多指令。
伪代码:
1.对指令输入进行判断:包含几个参数
2.系统调用open打开文件,系统调用read读取文件内容,创建二维数组存储文件内容。
数组第一列存key,第二列存整体内容。
3.系统调用qsort对数组第一列进行排序。
4.系统调用write将排序后的数组第二列存入指定文件夹,系统调用close关闭文件。
20191310李烨龙作业:MySort的更多相关文章
- 20191310李烨龙Linux C语言编程基础
Linux C语言编程基础 任务详情 0. 基于Ubuntu或OpenEuler完成下面的任务(OpenEuler有加分) 1. 选择教材第二章的一节进行编程基础练习(2.10,2.11,2.12,2 ...
- 20155213 第十二周课堂作业MySort
20155213 第十二周课堂作业MySort 作业要求 模拟实现Linux下Sort -t : -k 2的功能 参考 Sort的实现 提交码云链接和代码运行截图 初始代码 1 import java ...
- 课下选做作业MySort
20175227张雪莹 2018-2019-2 <Java程序设计> 课下选做作业MySort 要求 注意:研究sort的其他功能,要能改的动代码,需要答辩 模拟实现Linux下Sort ...
- 网络1712--c语言嵌套循环作业总结
1.助教有话说 首先,每周一篇的博客作业是很有必要的:编程的过程不仅仅是会敲几行代码.能够通过PTA就大吉大利了,你更应该做到的是梳理代码思路,通过与他人代码思路的比对,取其精华,进而不断进阶,才能逐 ...
- MySort(选做)
一.题目要求 注意:研究sort的其他功能,要能改的动代码,需要答辩 模拟实现Linux下Sort -t : -k 2的功能. 要有伪代码,产品代码,测试代码(注意测试用例的设计) 参考 Sort的实 ...
- C#语言和数据库基础
第一章 第一个C#程序 Vs2012密钥 RBCXF-CVBGR-382MK-DFHJ4-C69G8 01..net和C#的区别 大概在2000年,微软推出了一种革命性的产品--.NET(战略) 目标 ...
- 3000本IT书籍下载地址
http://www.shouce.ren/post/d/id/112300 黑客攻防实战入门与提高.pdfhttp://www.shouce.ren/post/d/id/112299 黑 ...
- “2017面向对象程序设计(Java)第十一周学习总结”存在问题的反馈及教学安排
“2017面向对象程序设计(Java)第十一周学习总结”存在问题的反馈及教学安排1.“提出表扬的同学:姜依萍,王雪玲,徐楠,相文君,赵晓未提交作业的同学:任红强,王瑞强,宗鹏新,扎西才让,布旦刀杰,范 ...
- “2017面向对象程序设计(Java)第就九周学习总结”存在问题的反馈
对于“2017面向对象程序设计(Java)第就九周学习总结”存在问题的反馈 1.博文未写者:高树平 高俊梅 冯小丽 缪召召 王瑞强 宗鹏新 李向龙 马润韬 米奇辉 卯保云——不及时提交博客的同学人数出 ...
随机推荐
- 自己实现一个Controller——终极型
经过前两篇的学习与实操,也大致掌握了一个k8s资源的Controller写法了,如有不熟,可回顾 自己实现一个Controller--标准型 自己实现一个Controller--精简型 但是目前也只能 ...
- 学习了解PHP中的SeasLog日志扩展
今天来学习的扩展是和日志相关的一个扩展,对于 PHP 的日志应用来说,除了本身自带的 error_log() . syslog() 之外,在大多数的框架中还会经常见到 monolog 的踪影.当然,我 ...
- 【PHP数据结构】线性查找与二分查找
欢迎来到查找的世界,在学习完各种数据结构之后,总算走到了这一步,不知道大家有什么感想呢?反正我是边学边忘,现在让我去说说图的那几个算法还是在蒙圈的状态中.不过学习嘛,就是一步一步的来,暂时搞不懂的东西 ...
- linux停止nginx服务 未成功
在上线新功能的时候,需要将服务器停掉,防止在更新过程中有用户进行操作额外的数据. 1:查看nginx主进程: ps -ef | grep nginx 这里root 后面的数字表示:主进程号nginx后 ...
- Shell系列(4)- 历史命令
格式:history [选项] [历史命令保存文件] 选项: -c:清空历史命令 -w:把缓存中的历史命令写入到历史命令保存文件~ /.bash_history;用户的家目录下 例子: [root@l ...
- Charles抓包工具断点修改返回内容
在测试过程中,往往需要让服务器返回指定的内容,测试一些特殊情况.例如列表内容为空.数据异常的情况等.如果通过操作服务器配合构造相应的数据会比较麻烦,甚至不好构造数据.此时,可以使用Charles的断点 ...
- three.js 模型常用操作
场景: THREE.Scene(); 场景辅助坐标模型: THREE.AxesHelper(20); 相机: THREE.PerspectiveCamera()// 透视相机 THREE.Or ...
- P6657-[模板]LGV 引理
正题 题目链接:https://www.luogu.com.cn/problem/P6657 题目大意 给出$n\times n$的棋盘,$m$个起点第$i$个为$(1,a_i)$,对应$m$个终点第 ...
- P5405-[CTS2019]氪金手游【树形dp,容斥,数学期望】
前言 话说在\(Loj\)下了个数据发现这题的名字叫\(fgo\) 正题 题目链接:https://www.luogu.com.cn/problem/P5405 题目大意 \(n\)张卡的权值为\(1 ...
- CF1392G-Omkar and Pies【dp】
正题 题目链接:https://www.luogu.com.cn/problem/CF1392G 题目大意 两个长度为\(k\)的起始和目标01串. \(n\)个操作交换起始串的两个位置,选择一段长度 ...