LoginSignup
9
7

More than 5 years have passed since last update.

Linuxでのファイルの比較(commコマンドを図示化してみた話)

Last updated at Posted at 2019-02-16

1.はじめに

久しぶりにLinuxに触れあい、虫の息な今日この頃です。
久しぶりの投稿はLinuxのコマンド、「comm」についてです。

2. commコマンドとは?

  • ソート済みのテキストファイルを比較するもの。
    • 2つのテキストファイルを比較し、ファイル1にだけあるもの、ファイル2にだけあるもの、共通するものを出力してくれます。
  • コマンド

comm [オプション] ファイル1 ファイル2

オプション 説明        
-1 1列目(ファイル1のみに含まれる行)を出力しない
-2 2列目(ファイル2のみに含まれる行)を出力しない
-3 3列目(両方のファイルに含まれる行)を出力しない
--check-order 全ての行の組み合わせが一致していても、ソートされているかどうかを確認する
--output-delimiter=文字列 列を区切る文字列を指定する(デフォルトはTAB

3. 図示化しようと思ったわけ

  • オプションが難しいから。
    • オプションで指定したものを「出力しない」というのが分かりづらい。(落ち着いて考えればわかるものの、慌てているときに落ち着いて考えるのは不可能…orz)

4. 例

ファイル1 ファイル2     
111
222
333 333
444
555
666 666

ファイル1は濃い青、ファイル2は薄い青で示します。

説明.png

4.1 ファイル1のみにあるものを出したい場合

only1.png

 comm -23 ファイル1 ファイル2

4.2 ファイル2のみにあるものを出したい場合

only2.png

 comm -13 ファイル1 ファイル2

4.3 ファイル1,2 に共通するものを出したい場合(黄色いところ)

common12.png

 comm -12 ファイル1 ファイル2

4.4 ファイル1,2に共通しないものを出したい場合(白抜き以外のところ)

only12.png

 comm -3 ファイル1 ファイル2

5. 他

  • ベン図を書くのはパワポが便利!
9
7
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
9
7