Linux
Tips |
|
2つのファイルを行ごとに比較にするには
北浦訓行
2004/3/11
|
2つのファイルを行ごとに比較にするなら、commコマンドを使う。commコマンドは、ソート済みの2つのファイルを行ごとに比較して、それぞれのファイルにのみ含まれている行と両方のファイルに含まれている行を表示する。例えば、電子メールアドレスを記述した2つのファイルがある。
akoh@example.jp
asano@example.jp
ashikaga@example.jp
enomoto@example.jp
mouri@example.jp
seta@example.jp
shimazu@example.jp
takeda@example.jp
uesugi@example.jp |
mail1.txt |
akoh@example.jp
asano@example.jp
ashikaga@example.jp
enomoto@example.jp
mouri@example.jp
oda@example.jp
ohishi@example.jp
seta@example.jp
takeda@example.jp |
mail2.txt |
これをcommコマンドに渡すと、以下のような結果が表示される。
$ comm mail1.txt mail2.txt
akoh@example.jp
asano@example.jp
ashikaga@example.jp
enomoto@example.jp
mouri@example.jp
oda@example.jp
ohishi@example.jp
seta@example.jp
shimazu@example.jp
takeda@example.jp
uesugi@example.jp |
左側の列には、1つ目のファイル(mail1.txt)にのみ含まれている行が表示される。真ん中の列には、2つ目のファイル(mail2.txt)にのみ含まれている行が表示される。右側の列には、両方のファイルに含まれている行が表示される。
なお、commコマンドでファイルを比較する際は、必ず事前にsortコマンドでファイルを昇順に並べ替えておく必要がある。
Linux Squareフォーラム Linux Tipsカテゴリ別インデックス |
Linux & OSS 記事ランキング
本日
月間