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 } '
( の後の行末のみ|
)