单向差异文件

时间:2011-10-06 01:09:47

标签: linux bash diff

我想生成差异,以便对sql数据库进行增量备份。

使用标准的unix'diff'工具会生成不必要的大文件,因为它们包含已删除行的全文。我只需要支持就可以在一个方向上进行修补(从完整转储和增量补丁生成当前数据库转储)。

我该怎么做呢?我到目前为止尝试使用diff -e和patch -e,但它似乎没有正常工作,因为生成的文件已损坏(可能是cygwin中使用的'ed'工具的问题)

1 个答案:

答案 0 :(得分:1)

回到过去,在Vim之前,曾经有一个名为'ed'的面向行的UNIX编辑器。

diff内置一个选项(-e选项),您可以使用该选项从差异中创建编辑脚本

点击此处:查找“编辑脚本”部分

http://en.wikipedia.org/wiki/Diff

http://docs.freebsd.org/info/diff/diff.info.ed_Scripts.html

这是一个例子:

http://www.araxis.com/merge/topic_diff_report_editscript.html


另一种方法是创建一个补丁文件(参见'man patch')