![diff:这个输出表明什么?](https://linux22.com/image/193519/diff%EF%BC%9A%E8%BF%99%E4%B8%AA%E8%BE%93%E5%87%BA%E8%A1%A8%E6%98%8E%E4%BB%80%E4%B9%88%EF%BC%9F%20.png)
我使用以下命令将磁盘上两个文件之间的差异记录到日志中:
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
不要生成彩色输出。
有关的: