すべてを

▼開く

閉じる▲

2つのファイルの違いを表示する(context形式)

○元ファイル「original.txt」と変更後のファイル「modified.txt」の差分を取る(context形式)

diffコマンドで-cオプション、元ファイルと比較するファイルを指定する
$ diff -c original.txt modified.txt
*** original.txt        2005-07-20 16:43:24.000000000 +0900
--- modified.txt        2005-07-20 16:43:30.000000000 +0900
***************
*** 3,9 ****
  2つのファイルを比較してその違いを出力する。

  両方のファイルに存在する行
- originalファイルにだけ存在する行


! 何らかの変更があった行
--- 3,9 ----
  2つのファイルを比較してその違いを出力する。

  両方のファイルに存在する行

+ modifiedファイルにだけ存在する行

! なにか変更があった行

diffコマンドで-cオプション、元ファイル「original.txt」と変更後のファイル「modified.txt」を指定すると、2つのファイルの差分をcontext形式で出力する。

context形式では、元ファイルと変更後のファイルの該当部分の双方を別々に表示する。

context形式のdiff出力の見方

比較する2つのファイルの内容

元ファイル「original.txt」の内容 更新ファイル「modified.txt」の内容
diff diff
2つのファイルを比較してその違いを出力する。 2つのファイルを比較してその違いを出力する。
両方のファイルに存在する行 両方のファイルに存在する行
originalファイルにだけ存在する行
modifiedファイルにだけ存在する行
何らかの変更があった行 なにか変更があった行

diffコマンドの出力

*** original.txt        2005-07-20 16:43:24.000000000 +0900
--- modified.txt        2005-07-20 16:43:30.000000000 +0900

1行目と2行目は、比較するファイルの情報である。

***元ファイル
---更新ファイル

*** 3,9 ****                              <- 元ファイルの3行目から9行目を表す
  2つのファイルを比較してその違いを出力する。

  両方のファイルに存在する行
- originalファイルにだけ存在する行            <- 元ファイルから削除された行

! 何らかの変更があった行                   <- 更新された行
--- 3,9 ----                              <- 更新ファイルの3行目から9行目を表す
  2つのファイルを比較してその違いを出力する。

  両方のファイルに存在する行

+ modifiedファイルにだけ存在する行          <- 更新ファイルに追加された行

! なにか変更があった行                     <- 更新された行

「*** 行,行 ***」は元ファイルの行の範囲を表す。

「--- 行,行 ----」は更新ファイルの行の範囲を表す。

行頭に何も記号がない行は、双方のファイルで変更のない部分である。

context形式の差分情報は、元ファイルから削除された行、追加された行、変更された行を表す。

+更新ファイルに追加された行 (元ファイルに存在しない)
-元ファイルから削除された行 (更新ファイルに存在しない)
!更新された行