1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

データ抽出時のuniqコマンド一覧

Last updated at Posted at 2016-05-16

データ抽出時のuniqコマンド一覧

データ抽出の作業している時、uniqコマンドについてたまに分からなくなるけど、これを見れば大丈夫!
ついでに、uniqコマンドだけでなくcommコマンドも併記してみました。

サンプルテキスト

以下の2つのファイルを例に説明します。

A.txt
A
B
C
D
E
B.txt
B
D
X
Y
Z 

A ANDNOT B

2c4f1cae48fa1999fe52.png
「AというマスターのリストからBに含まれているものを除外する」というケース。

uniq
% sort {A,B,B}.txt | uniq -u > C.txt
実行例
% sort {A,B,B}.txt | uniq -u
A
C
E
comm
% comm -23 <(sort -u A.txt) <(sort -u B.txt) > C.txt
実行例
% comm -23 <(sort -u A.txt) <(sort -u B.txt)
A
C
E

B ANDNOT A

f0a3aa9eb708ffad0927.png
上記の「A ANDNOT B」のケースで「BにあるデータはAにも絶対に含まれているはず」という前提の時、
念のため「XやYやZのような異分子が存在するかどうか」を確認するケース。

uniq
% sort {A,A,B}.txt | uniq -u > C.txt
実行例
% sort {A,A,B}.txt | uniq -u
X
Y
Z
comm
% comm -13 <(sort -u A.txt) <(sort -u B.txt) > C.txt
実行例
% comm -13 <(sort -u A.txt) <(sort -u B.txt)
X
Y
Z 

A AND B

c983408ff33c4d314b4d.png
「AとBどちらにも含まれているものを抽出する」というケース。

uniq
% sort {A,B}.txt | uniq -d > C.txt
実行例
% sort {A,B}.txt | uniq -d
B
D
comm
% comm -12 <(sort -u A.txt) <(sort -u B.txt) > C.txt
実行例
% comm -12 <(sort -u A.txt) <(sort -u B.txt)
B
D

A OR B

5ecfeeb4ba6e2e90ead8.png
「AとBどちらかに含まれているものを全て抽出する」というケース。

uniq
% sort {A,B}.txt | uniq > C.txt
実行例
% sort {A,B}.txt | uniq
A
B
C
D
E
X
Y
Z
comm
% comm <(sort -u A.txt) <(sort -u B.txt) | tr -d '\t' > C.txt
実行例
% comm <(sort -u A.txt) <(sort -u B.txt) | tr -d '\t'
A
B
C
D
E
X
Y
Z

A XOR B

e6d185dbb50ee047dca7.png
排他的論理和。
「AとBどちらにも含まれているものだけ除外する」というケース。

uniq
% sort {A,B}.txt | uniq -u > C.txt
実行例
% sort {A,B}.txt | uniq -u
A
C
E
X
Y
Z
comm
% comm -3 <(sort -u A.txt) <(sort -u B.txt) | tr -d '\t' > C.txt
実行例
% comm -3 <(sort -u A.txt) <(sort -u B.txt) | tr -d '\t'
A
C
E
X
Y
Z 
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?