廢話少說,直接開始挑戰。
目標
==============
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個開始以后的字符
如下圖:
再提交,終於成功了。