Bash

Linux – diffコマンドの使い方 – ファイルの差分チェック

Linuxのdiffコマンドは、2つのファイル間の差分を比較するために使用されます。

基本的な構文はdiff [オプション] ファイル1 ファイル2です。

出力は、変更箇所を示す形式で表示され、行の追加は > 、削除は < で表されます。

主なオプションには、差分を簡潔に表示する-q、行番号付きで表示する-c、パッチ形式で出力する-uなどがあります。

ディレクトリ間の比較も可能で、再帰的にチェックする場合は-rを使用します。

diffコマンドとは

diffコマンドは、LinuxやUnix系のオペレーティングシステムで使用されるコマンドで、2つのファイルの内容を比較し、差分を表示するためのツールです。

このコマンドを使用することで、ファイルの変更点や異なる部分を簡単に確認することができます。

主にソースコードのバージョン管理やテキストファイルの比較に利用されます。

主な特徴

  • 差分表示: 変更された行や追加された行、削除された行を明確に示します。
  • 多様な出力形式: 標準的な出力形式に加え、さまざまなオプションを使用して出力形式を変更できます。
  • スクリプトとの連携: 他のコマンドやスクリプトと組み合わせて自動化処理が可能です。

diffコマンドを使うことで、ファイルの変更履歴を追跡したり、異なるバージョンのファイルを比較したりする際に非常に便利です。

diffコマンドの基本的な使い方

diffコマンドの基本的な使い方は非常にシンプルです。

2つのファイルを指定することで、それらの内容を比較し、差分を表示します。

以下に基本的な構文を示します。

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

基本的な例

例えば、file1.txtfile2.txtという2つのテキストファイルがあるとします。

これらのファイルの差分を確認するには、次のようにコマンドを実行します。

diff file1.txt file2.txt

もしfile1.txtに以下の内容があり、

こんにちは
今日は晴れです
さようなら

file2.txtに以下の内容があった場合、

こんにちは
今日は雨です
さようなら

コマンドを実行すると、次のような出力が得られます。

2c2
< 今日は晴れです
---
> 今日は雨です

出力結果の解説

  • 2c2: 2行目が変更されたことを示しています。
  • < 今日は晴れです: file1.txtの内容。
  • > 今日は雨です: file2.txtの内容。

このように、diffコマンドを使うことで、ファイル間の違いを簡単に確認することができます。

diffコマンドの主なオプション

diffコマンドには、出力形式や比較方法を変更するためのさまざまなオプションがあります。

以下に、よく使用される主なオプションをまとめました。

オプション説明使用例
-u統一形式で差分を表示diff -u file1.txt file2.txt
-cコンテキスト形式で差分を表示diff -c file1.txt file2.txt
-i大文字と小文字を無視して比較diff -i file1.txt file2.txt
-w空白を無視して比較diff -w file1.txt file2.txt
-rディレクトリ内のファイルを再帰的に比較diff -r dir1 dir2

各オプションの詳細

  • -u (統一形式): 差分をより見やすい形式で表示します。

変更された行の前後の行も表示されるため、文脈を理解しやすくなります。

  • -c (コンテキスト形式): 変更された行の前後の数行を表示し、変更の文脈を提供します。

特に大きなファイルの比較に便利です。

  • -i (大文字小文字無視): 大文字と小文字の違いを無視して比較します。

例えば、Hellohelloは同じと見なされます。

  • -w (空白無視): 空白文字(スペースやタブ)を無視して比較します。

これにより、フォーマットの違いによる誤差を排除できます。

  • -r (再帰的比較): 指定したディレクトリ内のすべてのファイルを再帰的に比較します。

ディレクトリの内容を一度に確認したい場合に便利です。

これらのオプションを組み合わせることで、diffコマンドをより効果的に活用することができます。

まとめ

この記事では、diffコマンドの基本的な使い方や主なオプションについて詳しく解説しました。

これにより、ファイルの差分を効率的に確認する方法が明確になったことでしょう。

今後は、実際にコマンドを使ってファイルの比較を行い、変更点を把握することで、作業の効率を向上させてみてください。

関連記事

Back to top button