75
macOSのコマンドラインを使ってターミナルで2つのフォルダの内容を比較する方法

macOS Big Surターミナルアイコン

画像: Apple

2つのディレクトリ(フォルダ)を比較して、どのファイルに違いがあるのか​​を素早く確認したいと思ったことはありませんか?サードパーティ製のGUIツールもありますが、実はMacには無料のフォルダ比較ツールが内蔵されています。ターミナルを開くだけで使えます。このプログラムは という名前でdiff、使い方はとても簡単です。

ターミナル(アプリケーション > ユーティリティ)を起動し、cdコマンドを使って比較したいフォルダがあるディレクトリに移動します。(もちろん、フォルダはどこにあっても構いませんが、同じフォルダにある方が簡単です。)移動したら、次のコマンドを実行します。

diff -rq フォルダ1 フォルダ2

これは、2 つのコマンド ライン スイッチ ( ) を持つ非常に単純なコマンドです-rq

  • は、サブディレクトリを含め、各ディレクトリを再帰的に調べるようにr指示します。diff
  • スイッチは簡易モードにq設定しますdiff。簡易モードを設定していない場合、diff2つのフォルダ間でどのファイルが異なるかを表示するだけでなく、両方の場所に存在するものの同一ではないテキストファイルについては、行ごとの実際の差異も表示します。今回はフォルダの内容を比較するだけなので、そこまで詳細な情報は必要ないため、簡易モードを使用して詳細表示を抑制します。

以上です。実際の動作は以下のようになります(比較対象は2つのフォルダです)comments_newcomments_old

% cd phpcode% diff -rq comments_new comments_oldOnly in comments_new: config.phpOnly in comments_old: config_old.phpOnly in comments_old: functions.inc

これは明らかに単純な例ですが、数百のファイルを含む大きなフォルダでも同様に機能します。diffもちろん、もっと多くの機能を使いたい場合は、単純なフォルダ比較だけでなく、さらに多くの機能があります。man diff詳細については、入力して詳細をご覧ください。

著者: Rob Griffiths、Macworld 寄稿者

元MacworldシニアエディターのRob Griffiths氏がMac OS X Hintsを設立しました。現在はMany Tricks Softwareの司会を務めています。