← 全部文章

技术与生活 / 一篇记录

重复内容统计:uniq 前面为什么常有 sort

uniq 判断的是相邻两行是否相同。输入顺序混乱时,相同内容可能分散出现,直接计数会得到多个小组,不能代表整个文件的频率。

uniq 只合并相邻重复行,统计前通常需要先排序。

实际怎么检查

以下示例面向常见 GNU/Linux 环境,文件名为实验用占位名称。

printf 'b\na\nb\n' | sort | uniq -c

示例中 a 出现一次,b 出现两次。

遇到异常再检查什么

先用三行小样本确定输出口径,再把命令用于真实数据。大小写、空白和语言环境会影响分组;需要合并这些差异时,应先明确规范化规则。

频次结果需要再排序时,应使用数值口径而不是纯字符串口径。先保留原始输入,另存规范化后的样本,便于解释大小写或空白处理是否改变了原本应当独立的项目。

字符串排序受语言环境影响,自动化处理宜明确排序规则。

参考:Linux 文档。

搜索文章

输入关键词,找回一篇记录。