案例:列出目录中的所有唯一文件名。
$ ls
a.h a.i b.h b.i c.h d.i
因此c
和d
在这种情况下是唯一的。对于固定宽度,我们可以这样做:
$ ls | uniq -w1 -u
c.h
d.i
虽然文件名不是固定宽度,但uniq
只能跳过字段(即从左到右,从左到右忽略字段),但不是很有帮助。
ls | sort -u -t. -k1,1
a.h
b.h
c.h
d.i
我认为sort -u
相当于uniq -u
(ref)并且sort
能够排序和我预期的给定字段输出为c.h
和d.i
但不是。
有什么想法吗?
注意:我不需要帮助解决问题,例如一个解决方案只是反转数据两次:
$ ls | rev | uniq -u -s1 | rev
c.h
d.i
答案 0 :(得分:2)
sort -u
相当于sort | uniq
,即没有给出uniq
的标记。