0
find ./2012 -type f | cut -d '/' -f 5 | uniq

通常的文件名看起来像

./2012/NY/F/Zoe
./2012/NJ/M/Zoe

我想上面的命令应该只给出一次像 Zoe 这样的文件名的非重复结果,但事实并非如此。

为什么?我应该怎么写才能得到想要的结果?

4

2 回答 2

3

uniq仅在连续行中检测重复项。通常的习惯用法是sort | uniq确保任何重复项将一起出现。

于 2013-09-23T18:23:13.713 回答
1

uniq要求重复项相邻,这意味着您需要对输入进行排序,这意味着您不妨使用sort -u;

find 2012 -type f | cut -d/ -f5 | sort -u
于 2013-09-23T18:24:52.353 回答