Linux查找某个文件中单词出现的次数
-
linux查找某个文件中单词出现的次数
文件名称:list 查找单词名称:test
操作命令:
more list | grep -o test | wc -l
cat list | grep -o test | wc -l
grep -o test list | wc -l -
使用linux命令或者shell实现:文件words存放英文单词,格式为每行一个英文单词(单词可以重复),统计这个文件中出现次数最多的前10个单词。
cat words.txt | sort | uniq -c | sort -k1,1nr | head -10
主要考察对sort、uniq命令的使用,相关解释如下,命令及参数的详细说明请自行通过man查看,简单介绍下以上指令各部分的功能: sort: 对单词进行排序 uniq -c: 显示唯一的行,并在每行行首加上本行在文件中出现的次数 sort -k1,1nr: 按照第一个字段,数值排序,且为逆序 -- sort -k1nr -k2 先按第一域数字(k1n)降序(r)排序,再按第二域排序 head -10: 取前10行数据 tr -cs "[a-z][A-Z]" "[\012*]" | #这样可以保证每行只有一个单词 --tr是主要删除非英文单词,转换成换行,并只显示一个换行 tr A-Z a-z | #将大写字母替换为小写字母
cat words.txt |tr -cs "[a-z][A-Z]" "[\012*]"|tr A-Z a-z|sort|uniq -c|sort -k1nr -k2|head -10