You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用awk查找文本中出现频率最高的连续两个单词组合

如何使用awk查找文本中出现频率最高的连续两个单词组合

我们以下面这段文本为例开展操作:

Reservoir 1992 reviewed by Reservoir Har even RESERVOIR DOGS


步骤1:拆分所有单词到单独一列

首先使用tr命令把文本中的标点、空格统一替换为换行符,实现每个单词单独占一行:

tr -s '[[:punct:][:space:]]' '\n'

执行后输出效果如下:

Reservoir 
1992    
reviewed
by         
Reservoir 
Har       
even      
RESERVOIR  
DOGS

步骤2:用awk拼接连续两个单词

使用下面的awk命令,把相邻的两行内容拼接成一行,即可得到所有连续两个单词的组合:

awk 'NR == 1 { prev = $0; next }
           { print prev, $0; prev = $0 }' 

默认输出效果如下:

Reservoir  1992
1992    reviewed
reviewed   by
by    Michael
Reservoir  Har
Ha   even
even    RESERVOIR
RESERVOIR  DOGS

如果需要对齐输出,可以把命令中的print替换为printf做格式化,输出效果如下:

Reservoir  1992
1992       reviewed
reviewed   by
by         Michael
Reservoir  Har
Har        even
even       RESERVOIR
RESERVOIR  DOGS

步骤3:统计组合出现频率

把上一步的输出依次通过管道传给sort、uniq -c、sort -nr命令,就能统计出每个组合的出现次数,并且按照次数从高到低排序,最终得到频率最高的连续单词组合。


内容的提问来源于stack exchange,提问作者DOS HASAN

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 18:45:03