Linux命令经典面试题:统计文件中出现次数最多的前10个单词
Posted 森明帮大于黑虎帮
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux命令经典面试题:统计文件中出现次数最多的前10个单词相关的知识,希望对你有一定的参考价值。
一、统计文件中出现次数最多的前10个单词
使用linux命令或者shell实现:文件words存放英文单词,格式为每行一个英文单词(单词可以重复),统计这个文件中出现次数最多的前10个单词。
cat words.txt | sort | uniq -c | sort -k1,1nr | head -10
主要考察对sort、uniq命令的使用,相关解释如下,命令及参数的详细说明请自行通过man查看,简单介绍下以上指令各部分的功能:
sort: 对单词进行排序
uniq -c: 显示唯一的行,并在每行行首加上本行在文件中出现的次数
sort -k1,1nr: 按照第一个字段,数值排序,且为逆序
head -10: 取前10行数据
二、linux文件搜索关键字并显示前后10行
cat test.log | grep ‘XXX’ -C 10
三、cat、grep、sed查看文件任意几行的数据
使用grep命令:
grep -C 5 foo file 显示file文件里匹配foo字串那行以及上下5行
grep -B 5 foo file 显示foo及前5行
grep -A 5 foo file 显示foo及后5行
使用cat与tail、head的组合命令
1、查看最后1000行的数据
cat filename | tail -n 1000
2、查看1000到3000行的数据
cat filename | head -n 3000 | tail -n +1000
3、查看、打印文件所有内容
cat filename
4、打印文件最后1000行的数据
cat filename | tail -n 1000
5、打印文件第1000行开始以后的内容
cat filename | tail -n +1000
6、打印前1000的内容
cat filename | head -n 1000
使用sed命令:sed -n “开始行,结束行p” 文件名
显示1000到300行的数据
sed -n ‘1000,3000p’ filename
tail 和 head 加上 -n参数后 都代表输出到指定行数,tail 是指定行数到结尾,head是开头到指定行数。
+数字 代表正数第几行, -数字代表倒数第几行。
以上是关于Linux命令经典面试题:统计文件中出现次数最多的前10个单词的主要内容,如果未能解决你的问题,请参考以下文章