0
案例:列出目錄中的所有唯一文件名。與排序的意外區別-u和uniq -u
$ 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
換句話說:'uniq'只有在輸入已經排序後才能正常工作 – scai