如果想要对两个目录下的所有文件做diff,可以使用以下命令:
- $ diff -BurN [org-src-dir] [target-src-dir] > [patch-file]
其中-B可以忽略所有的空白行,-r对所有的子目录进行递归的操作。[org-src-dir]是未经修改前的源文件目录,[target-src-dir]是修改后的源文件目录。注意:最后生成的patch文件是用来作用到[org-src-dir]的内容。
使用patch来对[org-src-dir]打补丁,对其进行内容变更:
- $ patch -p[N] < [patch-file]
这儿的[N]跟执行命令时所处的目录有关,如果此时[org-src-dir]是当前目录的一级子目录,则N=0。假设当前目录是[org-src-dir],那么N=1,以此类推。