linux - uniq 命令未检测到重复行

标签 linux bash shell unix uniq

<分区>

我在使用 unix uniq 命令时遇到困难。 我有一个包含 ID 列表的文件,如下所示(head -5 list.txt 的输出):

IBNUKWG02JZU4E
IBNUKWG02JZULO
IBNUKWG02JZUMG
IBNUKWG02JZUZS
IBNUKWG02JZV0R

文件包含 619142 行 (cat list.txt | wc -l ),并且包含重复项,例如,如果我运行命令 ( -c 标志返回该行出现的次数 )

cat list.txt | grep IBNUKWG02JZULO | uniq -c 

返回

  2 IBNUKWG02JZULO

但是如果我运行命令(-u 标志只打印唯一行)

   cat list.txt | uniq -u | wc -l 

它返回 619142,就好像没有检测到重复行一样。这怎么可能 ?

最佳答案

在使用 uniq 之前使用 sort。

cat list.txt | sort | uniq -u | wc -l 

关于linux - uniq 命令未检测到重复行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43977915/

相关文章:

regex - Python读取带有开始和停止条件的文件

bash - 使用sed替换文件中任何给定行中的字符串

linux - 从 bash 中的文件内容设置变量(循环)

bash - 让远程Shell评估期望ssh脚本中的表达式

c - c语言如何截取一个中英文单词混合字符串

linux - Bash PS1 为 root 显示 $ 而不是 #

linux - inb 和 outb 命令的波特率 - linux

bash - 在 bash 中,检查文件大小是否发生变化,如果没有则执行命令

bash - 如何在 Tcl 或 Expect 命令中为带空格的密码或文件名包含双引号?

bash - ff探针 |展架 |数据包大小 |划分 |添加