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

如何让Linux uniq命令显示所有重复行及对应重复次数

解决方法:显示重复次数并保留所有重复行

uniq无法同时实现显示重复计数和打印所有重复行的需求,你可以用awk来达成目标:

实现命令

printf 'AAAA XXXX\nAAAA YYYY\nBBBB ZZZZ' | awk '{arr[$1]++} END {for (i in arr) cnt[i]=arr[i]} {print cnt[$1], $0}'

输出结果

2 AAAA XXXX
2 AAAA YYYY
1 BBBB ZZZZ

原理说明

  1. 首次遍历所有行,通过arr[$1]++统计第一列(哈希值)的出现次数
  2. 遍历结束后,将统计结果存入cnt数组备用
  3. 再次遍历每行,输出对应哈希的总计数加上整行内容

适配MD5哈希+文件路径的实际场景

如果你的输入是md5sum命令生成的格式(MD5在前、文件路径在后),直接管道接入即可:

md5sum /path/to/target/files/* | awk '{arr[$1]++} END {for (i in arr) cnt[i]=arr[i]} {print cnt[$1], $0}'

这样就能同时看到每个重复哈希的总次数,以及对应的所有文件路径,方便定位重复内容的文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 05:34:54