Files

有人可以向我解釋這個 **diff ** 是什麼意思..?

  • November 1, 2018

我很難閱讀這篇文章,有人可以解釋它的含義,兩者之間的區別是什麼?

$> diff -U 3 user_output_test1 test1.output | cat -e
--- user_output_test1   2018-10-31 22:21:45.000000000 -0700$
+++ test1.output        2018-10-31 22:21:45.000000000 -0700$
@@ -9,8 +9,8 @@$
'-+2A' '0123456789ABCDEF'=0$
'+-2A' '0123456789ABCDEF'=0$
'++2A' '0123456789ABCDEF'=0$
-'2-A' '0123456789ABCDEF'=0$
-'+2-A' '0123456789ABCDEF'=0$
+'2-A' '0123456789ABCDEF'=2$
+'+2-A' '0123456789ABCDEF'=2$
'2a' '0123456789ABCDEF'=0$
'' '0123456789ABCDEF'=0$
'22' '2'=0$

謝謝。

user_output_test1有兩行:

'2-A' '0123456789ABCDEF'=0
'+2-A' '0123456789ABCDEF'=0

不同於test1.output, 誰有這兩行, 而是:

'2-A' '0123456789ABCDEF'=2
'+2-A' '0123456789ABCDEF'=2

實質上的區別是=0變成=2‘s。

前導-符號表示將從第一個文件中刪除的行,而前導+符號表示需要添加到第一個文件以生成第二個文件的行。

統一的差異-U是創建這種通用diff格式的原因,而3增強了每次更改周圍 3 行的預設上下文。那些“上下文”行有一個前導空格而不是 a+-

添加cat -e只是添加了尾隨$符號。

引用自:https://unix.stackexchange.com/questions/479181