2つの異なるテキストを比較 - 同じ点と異なる点が見つかりました

2つの異なるテキストを比較 - 同じ点と異なる点が見つかりました

2つの異なるテキストを比較したいです。以下の詳細と必要なものを確認してください。

1番目のテキストコンテンツ:

111 xx1
222
333
555

2番目のテキストコンテンツ:

333
111 xxx
222
888

私の質問

以下の結果を印刷できるコマンドを 1 つ探しています。

「更新:111 xxx」

「削除:555」

「追加:888」

最も重要なのは、「更新」、「削除」、「追加」というタイトルが表示されることです。

答え1

あなたは探している

diff <(sort file1) <(sort file2)

それは

1c1
< 111XZ
---
> 111 xxx
3a4
> 888

ファイル 1 のデータには「<」、ファイル 2 のデータには「>」を使用します。

出力に関する注意: これは疑似ed表記です。

  • c行を変更することを意味します
  • a追加を意味する
  • d削除を意味します(上記のサンプルには含まれていません)

できるよ

diff <(sort file1) <(sort file2) |
awk '$1 == "<" {$1=" in file1 } $1== ">" { $1="in file2" } { print } '

( の後の行末のみ|)

答え2

それを使用することができますdiff。出力形式に慣れるだけでいいのです。便利なガイドがありますここGUI付きのものには融合する

関連情報