find ./2012 -type f | cut -d '/' -f 5 | uniq
通常的文件名看起来像
./2012/NY/F/Zoe
./2012/NJ/M/Zoe
我认为上面的命令应该只给出一次像Zoe这样的文件名的非重复结果,但事实证明并非如此。
为什么呢?我该如何写以获得所需的结果?
答案 0 :(得分:3)
uniq
仅在连续行中检测到重复项。通常的习语
是sort | uniq
以确保任何重复项一起显示。
答案 1 :(得分:1)
uniq
要求副本相邻,这意味着您需要对输入进行排序,这意味着您也可以使用sort -u
;
find 2012 -type f | cut -d/ -f5 | sort -u