次のようにして、2 つのファイルをマージしたいと思います。
- 2 つのファイルの差分を一時ファイルに出力し、
- コピー/保存する行を手動で選択します。
ここでの問題はdiff -u
、ファイル全体を統一された形式で出力したいのに、コンテキストのファイル行しか提供しないことです。
diff でこれを行う方法はありますか?
あなたの請求書に合うかもしれない1つのオプション、
sdiff
: ファイルの比較差分。
sdiff -o merged.file left.file right.file
そこに着くと、どのファイルからどの行を保持したいかを尋ねるプロンプトが表示されます。ヒット?
してからenter
、少し助けてください。man sdiff
細かいグッズも付いています。
(私のディストリビューションでは、これらは「diffutils」パッケージ [fedora、centos] にパッケージ化されています)
プロセスを自動化する必要がある場合merge
は、ファイル内の競合をマークする util を試してください。ただし、それは振り出しに戻る可能性があります。
「ファイル全体を統一した形式で出力したいのですが、diff でこれを行う方法はありますか?」
はい。
diff -U 9999999 file1.txt file2.txt > diff.txt
ファイルの長さが 1000 万行未満であれば、これでうまくいくはずです。