bashやzshなどのシェルで行の重複を除外したり、重複を見つけるにはuniq
コマンド(unique)を使います。
uniq
コマンドでは、事前に必ずソートしておく必要があります。
$ cat ids.txt
1
2
3
2
3
4
# 重複の除外
$ cat ids.txt | sort | uniq
1
2
3
4
# sort -u でもOK
$ cat ids.txt | sort -u
1
2
3
4
重複を検出するにはuniq -d
を使います。
# 重複の検出
$ cat ids.txt | sort | uniq -d
2
3
ちなみにsort
コマンドはデフォルトでは文字としてソートしますが、オプション-n
を渡すことによって数値としてソートします。
$ cat ids.txt
1
11
10
101
100
# 文字としてソート
$ cat ids.txt | sort
1
10
100
101
11
# 数値としてソート
$ cat ids.txt | sort -n
1
10
11
100
101
コメントを送る
コメントはブログオーナーのみ閲覧できます