Linux基础入门 之挑战:历史命令

废话少说,直接开始挑战。

目标

==============
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个开始以后的字符
如下图:
再提交,终于成功了。

posted @ 2018-03-18 23:23  任雄鹏  阅读(1394)  评论(0编辑  收藏  举报