次のような数値の列があるとします。
ファイル1:
1
2
3
3
3
4
4
4
5
6
出力が必要です:
3
4
つまり、繰り返される行のみです。 Linuxでこれを見つけるコマンドラインツールはありますか? (注:値は数値でソートされています)。
これにはuniq(1)
を使用できます。
uniq -d file.txt
これは重複のみを印刷します。入力ファイルは、すべての重複が(連続しているように見える)連続するようにソートする必要があります。そうでない場合は、最初にソートを実行してください。
これを実行:Perl -ne 'print if $a{$_}++' filename.txt
uniq
では、リストを並べ替える必要があります。デフォルトはアルファベット順に並べ替えますsort | uniq -d path/to/your/filename
または
cat fileName | sort | uniq -d path/to/your/filename
uniq
およびawk
の使用:
cat File1 | uniq -c | awk '$1 > 1 { print $2 }'