find ./2012 -type f | cut -d '/' -f 5 | uniq
常用的文件名看起来像uniq的为什么不给非重复结果
./2012/NY/F/Zoe
./2012/NJ/M/Zoe
我想上面的命令,应该给像佐伊仅有一次的文件名不重复的结果,但它事实并非如此。
为什么?我该如何写才能获得理想的效果?
find ./2012 -type f | cut -d '/' -f 5 | uniq
常用的文件名看起来像uniq的为什么不给非重复结果
./2012/NY/F/Zoe
./2012/NJ/M/Zoe
我想上面的命令,应该给像佐伊仅有一次的文件名不重复的结果,但它事实并非如此。
为什么?我该如何写才能获得理想的效果?
uniq
要求重复是相邻的,这意味着您需要对输入进行排序,这意味着您不妨使用sort -u
;
find 2012 -type f | cut -d/ -f5 | sort -u
'uniq'是逐行比较的,所以如果你弄错了,那么你的'cut'就不会正确过滤掉相关的部分。还有可能会出现不可见的空白(制表符,空格等等)。 –