使用diff手动合并两个文件

Ale*_*lex 10 linux diff

我想通过执行以下操作合并两个文件:

  1. 将两个文件的差异输出到临时文件中
  2. 手动选择我要复制/保存的行.

这里的问题是diff -u只给我一个文件行的上下文,而我想以统一的格式输出整个文件.

差异有什么方法可以做到这一点?

dou*_*BTV 14

一个可能适合您的账单,

sdiff :文件的并排差异.

sdiff -o merged.file left.file right.file

在那里,它将提示您要从哪个文件中保留哪些行.点击?然后enter寻求一点帮助.还有man sdiff详细的商品.

(在我的发行版中,这些包装在"diffutils"软件包中[fedora,centos])

如果您需要自动化该过程,您可能需要尝试使用util merge,它将标记文件中的冲突.但是,这可能会让你回到原点.


Mar*_* K. 7

"我想以统一的格式输出整个文件.有什么方法可以做到这一点吗?"

是.

diff -U 9999999 file1.txt file2.txt > diff.txt
Run Code Online (Sandbox Code Playgroud)

如果您的文件长度少于1000万行,这应该可行.


s29*_*s29 5

您可以使用-使用diff合并/合并这两个文件

diff --line-format %L file1 file2
Run Code Online (Sandbox Code Playgroud)