我有一个带有示例的文本文件(两列用:)分隔
如果第一列第一行再次重复,则不考虑它并给出输出
11:22
33:44
55:66
55:77
我想要的输出应该是
11:22
33:44
答案1
sort file | uniq --unique --check-chars=2
我做两个假设:
- 可以改变行顺序(排序)
- 第一列总是两个字符宽
答案2
用于排除重复的行仅第一列:
sort file | uniq -u -w 1
用于排除重复的行第一个字段什么时候以冒号分隔:
cut -d: -f1 file | sort | uniq -u
在这两种情况下,我们需要在将sort
输出通过管道传输到文件之前uniq
(就像uniq
在相邻的匹配行上工作一样)。然后uniq
使用一些选项进行操作。
来自uniq
手册页:
-u: only print unique lines
-w N: compare no more than N characters in lines