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个单词的主要内容,如果未能解决你的问题,请参考以下文章

经典面试题

经典面试题

JavaScript入门第十六章(对象经典面试题)

闲谈如何统计字符串中出现最多的字母与个数

面试题:字符串中出现次数最多的字符以及出现的次数

面试题:字符串中出现次数最多的字符以及出现的次数