Home About
Bash , Ubuntu , UNIX

How to use diff and patch

ブログ構築システムをつくっていて、 ディレクトリの深さに応じて、パスの指定方法がちょっとだけ異なるテンプレートファイルを使う必要が出てきた。 このテンプレートをコピーしていると共通部分に変更が生じたときに全部のテンプレートを書き直す必要が生じてしまうので、diff と patch を使って対処することに。

具体例

original.txt と customized.txt がある。
original.txt をほんの少し変更したファイルが customized.txt。 この差分をファイル(patch.txt)に取っておいて、original.txt と patch.txt から customized.txt を作り出す方法。

$ diff original.txt customized.txt -u > patch.txt
$ patch < patch.txt
$ diff original.txt customized.txt

まとめ