Unix 文本处理与打印工具全解析
1. 排序与去重
1.1 排序稳定性
在处理数据时,排序是常见操作。不过,普通的 sort 命令可能不稳定,即排序字段相同的记录,输出顺序可能与输入不同。不过,GNU 实现的 sort 命令在 coreutils 包中提供了 --stable 选项来解决这个问题,保证输出顺序与输入一致。
1.2 去除重复记录
去除连续重复记录也是常见需求。 sort -u 可以完成此任务,但它是基于匹配键而非完整记录。 uniq 命令提供了另一种过滤数据的方式,常与 sort 结合使用,如 sort ... | uniq | ... 。 uniq 有三个常用选项:
- -c :在每行输出前加上该行出现的次数。
- -d :只显示重复的行。
- -u :只显示不重复的行。
以下是示例:
$ cat latin-numbers
tres
unus
duo
tres
duo
tres
$ sort latin-numbers | uniq
duo
tres
unus
$ sort latin-numbers | uniq -c
2 duo
超级会员免费看
订阅专栏 解锁全文
1691

被折叠的 条评论
为什么被折叠?



