sort data.txt和有什么区别? uniq -q和'uniq -q'吗?

问题描述 投票:0回答:2

我知道它会进行排序,并且使用输出来找出文件中的唯一语句。我也觉得uniq -u应该打印文件中的每个唯一语句。

uniq -u data.txt

此语句的输出是:

MsxcvOe3PGrt78wpZG2bBNF5wfXpZhET
L0nxAwlfV9V3J5onKIT8KYQ9InTcQ7yE
4c7EsUtqLnLR9hiepV5EQVhdMgyi8onL
1drBmDT7PYS7hVgoTWkJSjUZUK7ZAIAa
L0nxAwlfV9V3J5onKIT8KYQ9InTcQ7yE
78rgduVcLZjLzZmooObdaN541MKV6IfQ
x0bga8Oxz5lgM8k52HrYy4ez7XJI0lM0
irGm6F73sbUrFhHukhp6JXgMQyLxJTz1

但是我什么时候跑

sort data.txt | uniq -u

输出为:UsvVyFSfZZWbi6wgC7dAFyFuR62324324324

我不明白为什么只有一行输出时第一条语句会打印一个列表。

linux ubuntu terminal uniq
2个回答
1
投票
的输出

Uniq仅比较相邻的行。因此,在以下输入中的uniq -u不会检测到重复项并打印出所有内容

foo
bar
foo
bar

如果先调用排序,您将获得已正确删除重复数据的排序列表。您稍后可能在文件中有一些重复项


0
投票

uniq实用程序读取指定的文件,仅比较相邻的行,如果每个唯一的输入行都将副本写入到输出文件。

例如,如果您的数据是:

11个2541

uniq的输出将是:

2541

此处输出排序数据| uniq -u将如下所示:

排序输出:

11个1个245当将其传递给uniq时,输出将为:

245

© www.soinside.com 2019 - 2024. All rights reserved.