我在使用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 ,好像没有检测到重复的行。这怎么可能 ?
答案 0 :(得分:2)
在使用uniq之前使用sort。
cat list.txt | sort | uniq -u | wc -l