diff:这个输出表明什么?

diff:这个输出表明什么?

我使用以下命令将磁盘上两个文件之间的差异记录到日志中:

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

在里面diff_log.txt我看到许多行以以下之一开头:

^[[31m
^[[0m

^[以蓝色和[白色呈现。

我不确定这意味着什么。谁能解释一下吗?

TIA

答案1

这些是命令输出的控制序列,diff用于更改文本的颜色。它这样做是因为您已请求使用 来对输出进行着色--color=always。考虑将此选项更改为--color=never--color=auto,或从命令中完全删除它。

请注意,如果重新运行该命令,新的输出将为附加的到输出文件,因为您使用的>>是重定向而不是>截断和重写输出文件,因此您仍然会在以前运行的输出文件中看到这些控制序列。

另一种选择是使用less -R查看文件。这将解释文件中的颜色更改控制序列,以便它们更改文本的颜色(另请参阅man less)。如果您只想这样做,这只是一个选择不过在文件上。如果您想对数据进行进一步处理,最好指示diff不要生成彩色输出。

有关的:

相关内容