我的数据为 /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
?
我的数据为 /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
?
在使用 uniq 之前,您必须对数据进行排序。它仅删除/检测相邻行上的重复项。
试试这个仔细检查,它会输出任何重复的行:
cat /tmp/1 | awk 'seen[$0]++ == 1'
哦,这是你的问题:
cat /tmp/1 | sort | uniq -d
在运行 uniq 之前对其进行排序!
awk '{_[$0]++}END{for(i in _)if(_[i]>1) print i}' /tmp/1
要不就
awk '_[$0]++ == 1' file