我的数据为/ tmp / 1
9367543
9105616
9108177
8948074
8860323
9170406
9105616
我跑步,我什么都没得到
cat /tmp/1 | uniq -d
这很奇怪,因为uniq -d
应该
-d Only output lines that are repeated in the input.
如何使用uniq -d
?
答案 0 :(得分:6)
在使用uniq之前,您必须对数据进行排序。它只删除/检测相邻行上的重复项。
答案 1 :(得分:1)
尝试这样仔细检查,它会输出任何重复的行:
cat /tmp/1 | awk 'seen[$0]++ == 1'
哦,这是你的问题:
cat /tmp/1 | sort | uniq -d
在运行uniq之前对其进行排序!
答案 2 :(得分:1)
awk '{_[$0]++}END{for(i in _)if(_[i]>1) print i}' /tmp/1
或只是
awk '_[$0]++ == 1' file