Sort

uuid 上的“sort -nu”

  • June 27, 2019

任何人都可以解釋為什麼“sort -nu”在下面的範例中只返回 1 個唯一行?

$ cat /tmp/test_
1e971713-31e4-62d0-a3d1-37c0610c10e5
1e97d59f-bc32-6126-b7b1-0b52ddd35273
1e971713-31e4-62d0-a3d1-37c0610c10e5
$ sort -nu /tmp/test_
1e971713-31e4-62d0-a3d1-37c0610c10e5
$

像“sort -u”這樣的輸出不應該有兩條獨特的行嗎?

$ sort -u /tmp/test_
1e971713-31e4-62d0-a3d1-37c0610c10e5
1e97d59f-bc32-6126-b7b1-0b52ddd35273
$

@Kusalananda 是對的。

https://www.gnu.org/software/coreutils/manual/html_node/sort-invocation.html

命令sort -usort | uniq是等價的,但這種等價性不會擴展到任意排序選項。例如, sort -n -u檢查唯一性時僅檢查初始數字字元串的值,而sort -n | uniq檢查整行。

由於您的數字字元串是1,因此您只會得到第一行。

引用自:https://unix.stackexchange.com/questions/527122