任何人都可以解释为什么“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
$
答案1
@Kusalananda 是对的。
https://www.gnu.org/software/coreutils/manual/html_node/sort-inspiration.html
命令
sort -u
和sort | uniq
是等效的,但这种等效性并不扩展到任意排序选项。例如,sort -n -u
在检查唯一性时仅检查初始数字字符串的值,而sort -n | uniq
检查整行。
由于您的数字字符串是1
,因此您只能得到第一行。