行を比較し、2つの異なるファイルをアップグレードします。

行を比較し、2つの異なるファイルをアップグレードします。

次の機能を持ついくつかのテキストファイルがあります。

$ cat file_1
Line A
Line B
Line C
Line D

$ cat file_2
Line A
Line added 1
Line B
Line D
Line added 2

含まれていないfile_1いくつかの行があり、その逆も同様です。file_2アップグレードしたいお互い行がありません。

Line A
Line added 1
Line B
Line C
Line D
Line added 2

これ注文するoffile_1は保持されますが、file_2putの積分はinと同じ位置にありますfile_2(頭、尾、またはランダムな位置ではありません)。

1)適切なスクリプトでこのようにファイルをマージできますかbash

2)行の代わりに段落(行ブロックなど)を使用するときに同じことを実行できますか?

ベストアンサー1

diff file_1 file_2 | grep -Ev '^<|[0-9]+d[0-9]+' | patch file_1

おすすめ記事