スポンサーリンク

diff -uでpatchファイルを作成して適用

diffの-uオプションでpatchファイルを作成します。
※MACターミナル(BSD系)での動作確認です。
-uオプションでunifiedファイルを作成できます。

patchFile.txtがpatchファイルになります。

$ diff -u file01.txt file02.txt >patchFile.txt

patchコマンドでpatchファイルを適用できます。
$ patch file01.txt <patchfile.txt

file01.txtにpatchfile.txtが適用されて更新されます。

スポンサーリンク

サンプルコード

例えば、下記のファイルがあったとします。

 $ cat file01.txt 
line01-awk
line02-find
line03-diff
line04-sed
line05-grep

 $ cat file02.txt 
line01-awk
line02-find
diff01
line03-diff
line04-sed
diff02
line05-grep

diffの-uオプションでpatchファイルを作成します。
 $ diff -u file01.txt file02.txt >patchFile.txt

patchファイルを適用しています。
 $ patch file01.txt <patchfile.txt
patching file file01.txt

pathcファイル適用後のファイルです。
 $ cat file01.txt 
line01-awk
line02-find
diff01
line03-diff
line04-sed
diff02
line05-grep

patchファイルを適用したので、file01.txt file02.txt の間に差分がなくなっているのが確認できます。
参考:diffの-sオプションで差分がなく同一ファイルの場合にメッセージを表示
 $ diff -s file01.txt file02.txt 
Files file01.txt and file02.txt are identical

スポンサーリンク