uniqコマンドを使って、論理和・論理積・排他的論理和・差集合を得る方法
タイトルの通り、UNIXの「uniq」コマンドを使って、2つのファイルから
- 論理和(OR)
- 論理積(AND)
- 排他的論理和(XOR)
- 差集合(A-B)
- 差集合(B-A)
方法
前提:入力ファイル
確認のため、以下のような、ファイルa・bを使用します。
|
|
論理和(OR)
ファイルa・bをコンカチ・ソートしたものに対し、uniqコマンドを、特にオプションを付けずに実行すると、論理和を取得できます。
|
|
論理積(AND)
ファイルa・bをコンカチ・ソートしたものに対し、uniqコマンドを 「-d」オプション付きで実行すると、論理積を取得できます。
|
|
排他的論理和(XOR)
ファイルa・bをコンカチ・ソートしたものに対し、uniqコマンドを 「-u」オプションを付きで実行すると、排他的論理和を取得できます。
|
|
差集合(A-B)
a・bの和集合とbの排他的論理和を取ることで、差集合(a-b)を取得することができます。
ここまでの応用です。
|
|
※sort | uniq は sort -u で代用できます
差集合(B-A)
上記と同様に、a・bの和集合とaの排他的論理和を取ることで、差集合(b-a)を取得することができます。
|
|
以上。