すべてを

▼開く

閉じる▲

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

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

diffコマンドで-uオプション、元ファイルと比較するファイルを指定する
$ diff -u 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,7 +3,7 @@
 2つのファイルを比較してその違いを出力する。

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

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

-何らかの変更があった行
+なにか変更があった行

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

unified形式では、元ファイルと更新ファイルの該当部分を並べて表示する。

unified形式のdiff出力の見方

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

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

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

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

「@@ -3,7 +3,7 @@」

3行目は、ファイル中の比較対象となった行の情報である。

「-3,7」 「-」が元ファイルを意味し、「3」が位置、「7」が行数
つまり、元ファイルの3行目から7行分を比較
「+3,7」 「+」が更新ファイルを意味し、「3」が位置、「7」が行数
つまり、更新ファイルの3行目から7行分を比較

 2つのファイルを比較してその違いを出力する。

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

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

-何らかの変更があった行                  <- 元ファイルから削除された行
+なにか変更があった行                    <- 元ファイルに追加された行

unified形式の差分情報は、元ファイルを基準にして追加と削除で表す。

+元ファイルに追加された行
-元ファイルから削除された行

修正や変更があった行も、削除と追加という形で表示される。