Linux

diff:這個輸出說明了什麼?

  • July 26, 2021

我正在使用以下命令將磁碟上兩個文件之間的差異記錄到日誌中:

diff --color=always -sy --suppress-common-lines --suppress-blank-empty file1.c file2.c >> diff_log.txt

在裡面diff_log.txt,我看到許多行以以下之一開頭:

^[[31m
^[[0m

^[以藍色和[白色呈現。

我不確定這意味著什麼。誰能解釋一下?

TIA

這些是diff命令輸出的用於更改文本顏色的控制序列。這樣做是因為您已請求使用--color=always. 考慮將此選項更改為--color=neveror --color=auto,或將其從您的命令中完全刪除。

請注意,如果您重新執行該命令,新的輸出將被附加到輸出文件,因為您使用>>的是重定向而不是>截斷和重寫輸出文件,因此您仍然會在輸出文件中看到這些控制序列從以前的執行。

另一種選擇是用於less -R查看文件。這將解釋文件中的顏色更改控制序列,以便它們更改文本的顏色(另請參見 參考資料man less)。如果您只想查看文件,這只是一個選項。如果您想對數據進行進一步處理,最好指示diff不產生彩色輸出。

有關的:

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