shell脚本统计文件词频

前提条件

假设文件中所有的单词为空格切分,且大小写不同的单词分为两个单词。

处理语句

cat 文件名 | tr -s ' ' '\n' | sort | uniq -c | sort -r | awk '{print $2 " " $1}'

处理详解

针对上述语句中的各个命令解释
cat:浏览所需要处理的文件。
tr -s:将文件中的空格全部替换为换行符,这样文件展示出来就是每一行只有一个单词的样子。
sort:对文件进行排序,默认是依据acsii码进行排序,但是sort命令对中文排序出现错误,那么就要设置环境变量使其适用中文。
uniq -c:对文件进行去重 并统计,但是这个统计结果中 数字是在内容前面的。
sort -r:以相反顺序排序,因为上一步 数字在内容前面,因此不需要指定哪一个字段,默认就是第一个字段。
awk '{print $2 " " $1}':交换一下 数字和内容的位置,便于感知观看,这一步没有也可以

posted @ 2021-03-15 18:00  otowa  阅读(105)  评论(0)    收藏  举报