0

案例:列出目录中所有唯一的文件名。

$ ls 
a.h  a.i  b.h  b.i  c.h  d.i

所以cd在这种情况下是独一无二的。对于固定宽度,我们可以这样做:

$ 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.hd.i但事实并非如此。

有什么想法吗?

注意:我不需要帮助来解决问题,例如一种解决方案是将数据反转两次:

$ ls | rev | uniq -u -s1 | rev
c.h
d.i
4

1 回答 1

2

sort -u相当于sort | uniq,即没有uniq给定的标志。

于 2012-11-29T10:53:14.207 回答