2

/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か?

4

3 に答える 3

6

uniqを使用する前に、データを並べ替える必要があります。隣接する行の重複を削除/検出するだけです。

于 2009-07-25T11:33:18.543 に答える
1
awk '{_[$0]++}END{for(i in _)if(_[i]>1) print i}' /tmp/1

あるいは単に

awk '_[$0]++ == 1' file
于 2009-07-25T11:34:06.327 に答える
1

これを再確認してみてください。重複している行が出力されます。

  cat /tmp/1 |  awk 'seen[$0]++ == 1'

ああ、これはあなたの問題です:

 cat /tmp/1 | sort | uniq -d

uniq を実行する前にソートしてください!

于 2009-07-25T11:25:09.747 に答える