废话少说,直接开始挑战。
目标
==============
1、处理文本data1
2、将结果写入result
3、结果包含次数和命令,如“100 ls”
4、从里面找出出现频率次数前3的命令并保存在/home/shiyanlou/result。
来源: 实验楼
链接: https://www.shiyanlou.com/courses/1
本课程内容,由作者授权实验楼发布,未经允许,禁止转载、下载及非法传播
1、开始首先按照给的命令下载data1文件,
2、我们可以先看一下data1文件里面有什么东西:
可以看到开头是行数,然后是命令。
3、看到挑战给我们的提示,我们首先要打开文件,然后运用管道把文件输入的结果进行截取,(后面也一直用到管道这个命令),命令行如下图,我让文件显示每一行第7个以后所有的字符。
下图是截取后的结果
接下来,我们用sort命令对第一个字段进行字典排序使得命令行是连续重复的,命令行如下图:
结果如下图:
然后我们再用uniq命令去重,命令行如下图:
结果如下图
可以看出,uniq 命令实现消掉重复行,而且统计出重复次数
接下来为了显示频率前三的命令,我们对重复次数进行排序,使用命令如下:
结果如下图:
接下来我们把频率前三的命令输出,所用命令及结果如下图:
最后将结果输出到题目所要求的的文件中。如下图:
我们打开result文件,如图:
可以看出和题目要求一致。然后我们提交答案。发现答案错误:
仔细一想发现问题出现在一开始我们应该显示文件每一行的第8个开始以后的字符
如下图:
再提交,终于成功了。