diff 同じファイルか? 違うファイルか? 調べる方法

diffコマンドで同じかどうか?違うかどうか?を結果のみ表示する

diffコマンドでファイルが同一かどうか?違うファイルかどうか?等で使用しますが、通常違うファイルの場合下記のような表示になります

違う箇所を表示するのでなく、「同じファイルです」・「違うファイルです」など簡易表示する方法を紹介します

diffコマンドで同じファイルの場合も報告する

diffコマンドで同じファイル場合は何も表示されないですが、これを同じ場合でも画面に結果を出力するようには、「-s」のオプションを利用します。

diffコマンドで違うファイルの場合は差分を表示せず結果のみを報告する

diffコマンドで違うファイルの場合は差分内容が下記のように表示されます。

これを差分を表示せず結果のみを表示する場合は「-q」のオプションを使用します

diffコマンドの戻り値について

diifコマンドで戻り値ですが下記のように、同じ場合は「0」、違う場合は「1」、エラーの場合は「2」と処理されます。これを利用してシェルスクリプトでファイルの内容が違う場合はコピーする等の処理ができます

  • 0: 変更なし
  • 1: 変更あり
  • 2: エラー

下記では、「test01.txt」と 「test011.txt」は同一ファイルです。「test01.txt」と 「test02.txt」は違うファイルです。その場合diffコマンドの戻り値は以下のようになります。同じファイルの場合や違うファイルの場合で処理を分けることができます