Categories: ツールの使い方

macOSで2つのファイルの差分を確認するには?便利なdiffツールを紹介

はじめに

ファイルの内容が更新されたとき、どこが変わったのかを確認したいと思うことはありませんか?

日々の業務でテキストファイルやデータ列、ソースコードなどを取り扱っていればそのような機会も多いでしょう。

この記事では、macOSで2つのファイル間の差分を確認するための方法を紹介します。

ファイルの差分とは

ファイルの更新前と更新後ではファイルの内容が異なりますが、変更が加えられていない部分は同じままです。このような場合に、更新前と更新後で異なる部分をそれらのファイルの「差分」と呼びます。

ファイル更新のたびにファイル全体を見直していては効率が悪いですね。そのため、変更があった部分だけに注目して内容を確認したいというケースがよくあります。

ファイルの差分を確認するシーン例

例えばプログラミングの場合は次のようなシチュエーションです。

  • 誰かがソースコードを変更後からエラーが発生するようになったので原因確認のためにソースコードの変更前後を比較したい
  • 入力として、とあるデータを与えた時だけエラーが発生するので他のデータとの違いを見て何が原因なのか確認したい
  • システムから毎日出力されるログの内容について、前日と本日で何か違いがあるか確認したい

プログラミング以外の場合でも次のようなケースで必要になります。

  • 使用しているサービスの利用規約がアップデートされたが、主にどんな変更が入ったのか確認したい
  • 昨年と今年で社員がどのくらい入れ替わったか、名簿で確認したい
  • 作成したファイルを上司が赤入れしてくれたが、どこを修正したのか確認したい

このように、ファイルの差分を確認する方法を知っていれば、様々なシーンで役立ちます。

WindowsではWinMerge、Macでは…?

差分を確認するためのツールとしてWindows向けでは「WinMerge」が有名で、無料で使用することができます。使い勝手がよく大変人気のソフトウェアです。

WindowsユーザならばこのWinMergeを使用するのが最もおすすめです。その名からも想像される通りこちらはWindows版のみのため、Macユーザーは別の手段を講じなければなりません。

diffコマンドを使用する方法

まずは最も簡単な方法として、diff(読み:「ディフ」)コマンドの使い方を紹介します。

このコマンド名はdifference(違い)が由来となっていて、2つのデータ間の差分を確認するためのものです。

ファイルだけでなくディレクトリ間のファイル構成も確認できます。今回は下記のような2つの名簿リストを比較してみましょう。

次のように実行してください。

  1. アプリケーション -> ユーティリティ -> ターミナル を開く
  2. 下記のようにコマンド入力
    diff <ファイル1> <ファイル2>
  3. 実行結果例

この例ではファイル1(nameList.csv)の5行目と9行目が削除され、また11行目の後にに3人追加されています。

実行結果の「5d4」「9d7」は削除内容を表しており、例えば「5d4」は5行目が削除(delete)され4何行まで詰められた、の意味です。

「11c9,12」は11行目が変更(change)され9行目から12行目の内容に取って代わったことを示します。

「—」の後には実際の変更内容が表示されていますね。

この方法は追加で何かをインストールする必要がないため手軽ではありますが、CUI(Character User Interface:テキストベースのユーザインターフェース)のため視認性が良くありません。

比較的単純なファイルの差分を確認するのに向いている方法です。

BBEditを使用する方法

視認性よく確認するためのGUI(Graphical User Interface:グラフィックを駆使したユーザーインターフェース)ツールもいくつかあります。おすすめはBBEditです。

こちらはテキストエディタですが、2ファイル間の差分を確認するための機能を備えています。

  1. BBEditをインストール
  2. Search」 -> 「Find Differences
  3. 開いた画面で2つのファイルをLeftエリアとRightエリアにドラッグアンドドロップ
  4. 結果を確認

少々見づらいですが色分けで変更点が可視化されているのと、下部に変更点一覧のコメントが表示されるのでdiffコマンドと比較すると視認性が良く確認しやすいですね。

まとめ

2つのファイルの差分を確認するための方法を2通り紹介しました。業務や日常生活の中で意外と多いファイル差分確認のシーンですが、この方法を使えば漏れなく迅速に確認できますね。

diffコマンドはすぐに使用できますし、BBEditも簡単にインストールできるので、これまで目視で試行錯誤していた方もぜひチャレンジしてみてください。

また、BBEditのようなGUIの見やすいツールは他にもいくつかあります。主にテキストエディタに付属していることが多いので、お気に入りを探してみるのもおすすめです。

動画でプログラミング入門をしよう

オンライン学習サービスProglus(プログラス)でプログラミングを学び、創れる人になろう!

プレミアムプランを2週間無料体験しよう

今すぐ詳細を確認する

プログラミング入門ナビ編集部