介绍
在linux中,对于文本的处理和分析是极为重要的,现在有一个文件叫做data1,同学们可以在这里下载,
wget http://labfile.oss.aliyuncs.com/courses/1/data1
里面记录是一些命令的记录,现在需要你从里面找出出现频率次数前3的命令并保存在/home/shiyanlou/result。
目标
- 处理文本data
- 将结果写入result
- 结果包含次数和命令,如“100 ls”
提示
- cut截取(-c 8- 明白含义吗)
- uniq -dc去重
- sort 的参数选择-k1 -n -r
- 答案类似于
cat data|....|....|.... > /home/shiyanlou/result
来源
2016年百度校招面试题
解答
touch result
cat data1 | cut -c 8- | sort | uniq -dc | sort -n -r | head -n 3 > /home/shiyanlou/result
cut -c 8- 获取八位以后的有效字符
sort 默认排序
uniq -dc 删除重复,并输出重复数字
sort -n -r 按数字从大到小排列
head -n-3(或者 head -3) 显示头三个