如何为差异输出着色以获得更好的视图
当您想在 Linux 命令行中查看两个文件之间的差异时,Diff 是首选命令。
如果您是新手,理解 diff 命令的输出可能会很复杂。用不同颜色突出显示更改可以帮助您轻松注意到更改。
您可以使用 --color 选项按以下方式为 diff 输出着色:
diff --color file1.txt file2.txt
这将根据终端调色板的颜色以不同的颜色打印不同颜色的输出。
以下是一个例子:
永久使用彩色差异输出
每次运行 diff 命令时都输入 --color 很烦人。如果您希望始终看到彩色的 diff 命令输出,则可以轻松使用 Linux 中的 alias。
alias diff='diff --color'
为了使此别名永久生效,请将上述别名命令添加到您的 ~/.bashrc 文件中(假设您正在使用 bash 命令)。
如果您懒得动手,也可以使用 echo 命令将别名附加到 .bashrc 文件的末尾:
echo "alias diff='diff --color' " >> ~/.bashrc
但是,您应该使用基于终端的文本编辑器(例如Vim或Nano)来编辑文件并在一个地方添加所有自定义别名。
将别名添加到 ~/.bashrc 文件后,使用 source 命令使更改立即生效:
source ~/.bashrc
没有带有 diff 的 --color 选项?您可以这样做!
从版本 3.4 开始,diff 命令中加入了 --color 选项。如果您在 diff 命令中使用该选项时看到错误消息,则应首先检查 diff 命令版本:
diff --version
它应该显示如下输出:
abhishek@handbook:~$ diff --version
diff (GNU diffutils) 3.7
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by Paul Eggert, Mike Haertel, David Hayes,
Richard Stallman, and Len Tower.
如果您使用的是 diff 命令 3.3 或更早版本,您将不得不采取其他方式来使用 diff 获取彩色输出。
您可以使用一个名为 colordiff 的便捷实用程序。它本质上是用 Perl 编写的 diff 命令的包装器。
您应该在 Linux 发行版的包管理器中找到colordiff。在 Debian/Ubuntu 上,您可以使用以下命令来安装它:
sudo apt install colordiff
安装后,您可以按照与 diff 命令相同的方式使用它。
colordiff file1.txt file2.txt
没那么难,也没那么不同。不是吗?
有一个方便的实用程序叫做ydiff,可以让您并排查看文件之间的差异。
希望您觉得这个简短的 Linux 技巧对您有所帮助。请继续关注并订阅以获取更多信息。