在 Linux 中对于文本处理和分析是极为重要的,杜老师找了一道某度的运维工程师面试题,大家不妨试试能否完成要求。
1 | cd /root/ |
注意:现在有一个文件叫做 data1,可使用上面的命令下载。
data1 文件里记录是一些命令的操作记录,现在需要您从里面找出出现频率次数前 3 的命令并保存在 /root/result。
处理指定的文本文件 /root/data1。
将结果写入 /root/result。
结果包含三行内容,每行内容都是出现的次数和命令名称,如「100 ls」
可能会使用到如下命令:
命令 | 作用 |
---|---|
cut | 截取 |
uniq | 去重 |
sort | 排序 |
| | 管道 |
请务必自己独立思考解决问题之后再对照参考答案,一开始直接看参考答案收获不大:
cat data1 | cut -c 8- | sort | uniq -dc | sort -rn -k 1 | head -3 > /root/result