似ているファイル間の違いを確認するには diff コマンドを使用します。次のコマンドは leftfile と rightfile の各行を走査して相違点を表示します。
$ diff leftfile rightfile |
異なる行が見つかると、diff はその相違の原因 (行の追加、削除、または変更) と影響を受けた行を調べ、各ファイル内の個々の相違箇所の行番号と該当テキストを表示します。
相違の原因が行の追加による場合、diff は次の形式で行番号を表示します。
l[,l] a r[,r] |
l は leftfile の行番号、r は rightfile の行番号です。
相違の原因が行の削除による場合は、上記の a の代わりに d が表示され、行の変更による場合は c が表示されます。
各ファイル内の該当テキストは、行番号情報の次の行に表示されます。leftfile 内のテキストの前には左角括弧 (<) が付き、rightfile 内のテキストの前には右角括弧 (>) が付きます。rightfile 内のテキストの前には右角括弧 (>) が付きます。
次の例では、最初に 2 つのファイルの内容を表示し、その後で diff コマンドを使ってそれらの相違点を表示しています。
$ cat sched.7.15 Week of 7/15 Day: Time: Action Item: Details: T 10:00 Hardware mtg. every other week W 1:30 Software mtg. T 3:00 Docs. mtg. F 1:00 Interview $ cat sched.7.22 Week of 7/22 Day: Time: Action Item: Details: M 8:30 Staff mtg. all day T 10:00 Hardware mtg. every other week W 1:30 Software mtg. T 3:00 Docs. mtg. $ diff sched.7.15 sched.7.22 1c1 < Week of 7/15 --- > Week of 7/22 4a5 > M 8:30 Staff mtg. all day 8d8 < F 1:00 Interview |
比較される 2 つのファイルの内容が同じであれば、diff コマンドを実行しても何も出力されません。
diff1 コマンドについての詳細は、『man pages section 1: User Commands』を参照してください。
あるファイルの 3 つのバージョンを比較するには、diff3 コマンドを使用します。
$ diff3 file1 file2 file3 |
diff3 コマンドはファイルの 3 つのバージョンを比較し、内容が異なる範囲に以下のコードを付加して表示します。
==== 3 つのファイルがすべて異なる
====1 file1 がほかの 2 つと異なる
====2 file2 がほかの 2 つと異なる
====3 file3 がほかの 2 つと異なる
大きなファイルを比較する場合は、diff の代わりに bdiff コマンドを使います。bdiff の使用方法は、diff コマンドと同じです。
$ bdiff leftfile rightfile |