linux统计txt文件中单词出现次数并排序

本文介绍了一种使用sed、sort和uniq命令组合处理文本文件的方法,通过实例演示了如何统计文件中每个单词的出现频率并按降序排列。此技巧适用于快速分析文本数据集,对文本处理和数据统计感兴趣的读者尤为适用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文件:a.txt

任务:统计该文件中每一个单词出现的次数,并按照出现频率从大到小排序

sed 's/ /\n/g' "a.txt" | sort | uniq -c | sort -nr

解析:

sed替换

sed 's/被替换的字符串/新字符串/[替换选项]' filename

替换选项g表示替换文本中所有出现被替换字符串之处

uniq统计次数

uniq -c表示打印每行在文本中重复出现的次数

sort排序

-n根据数字大小进行排序

-r将排序结果逆向显示


增强版:

sed -e 's/\?//g' -e 's/ /\n/g' "test.txt" | sort | uniq -c | sort -nr

test.txt文件为:hello mylove i love you how about you do you love me?

当sed包含多个命令时,需要用-e分隔开来,第一个表示过滤掉文件中的"?"再进行计算。

输出结果为:

      3 you
      2 love
      1 mylove
      1 me
      1 i
      1 how
      1 hello
      1 do
      1 about

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值