13

次のようにして、2 つのファイルをマージしたいと思います。

  1. 2 つのファイルの差分を一時ファイルに出力し、
  2. コピー/保存する行を手動で選択します。

ここでの問題はdiff -u、ファイル全体を統一された形式で出力したいのに、コンテキストのファイル行しか提供しないことです。

diff でこれを行う方法はありますか?

4

5 に答える 5

17

あなたの請求書に合うかもしれない1つのオプション、

sdiff: ファイルの比較差分。

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

そこに着くと、どのファイルからどの行を保持したいかを尋ねるプロンプトが表示されます。ヒット?してからenter、少し助けてください。man sdiff細かいグッズも付いています。

(私のディストリビューションでは、これらは「diffutils」パッケージ [fedora、centos] にパッケージ化されています)

プロセスを自動化する必要がある場合mergeは、ファイル内の競合をマークする util を試してください。ただし、それは振り出しに戻る可能性があります。

于 2013-06-03T17:14:36.400 に答える
10

「ファイル全体を統一した形式で出力したいのですが、diff でこれを行う方法はありますか?」

はい。

diff -U 9999999 file1.txt file2.txt > diff.txt

ファイルの長さが 1000 万行未満であれば、これでうまくいくはずです。

于 2013-06-03T17:12:15.050 に答える