我有一个包含1500行的文件,或多或少,我只修改了一行并使用了diff -u original.txt modified.txt > original.patch
而不是仅使用修改后的部分创建补丁文件,它不仅包含原始文件,而且还修改了完全在那个文件上。是否可以只在补丁上修改部分?
答案 0 :(得分:1)
如果您删除-u
选项,它应该有用。
diff original.txt modified.txt > original.patch
编辑:我创建了一个小例子来比较输出:
拥有以下文件:
==> a.txt <==
one
two
three
four
five
==> b.txt <==
one
two
3
four
five
如果我使用diff -u a.txt b.txt >> diff-u.p
,我会收到以下内容:
==> diff-u.p <==
--- a.txt 2015-09-03 20:16:02.000000000 +0200
+++ b.txt 2015-09-03 20:16:13.000000000 +0200
@@ -1,5 +1,5 @@
one
two
-three
+3
four
five
请注意,diff包含更改行周围的线条,使用-u
选项diff --help
时可以预料到这一点:
-u -U NUM --unified[=NUM] Output NUM (default 3) lines of unified context.
但是,如果我使用diff a.txt b.txt >> diff.p
,我会收到以下内容:
==> diff.p <==
3c3
< three
---
> 3$
现在diff只包含已更改的行。