智传网优云课堂,专注分享IT技术
与IT技术爱好者一起共同学习进步

linux对比两个文件内容并带高亮颜色显示差异

1. 前言

本文主要讲解如何在Linux系统上对比两个文件的内容并以带颜色高亮显示两者的差异。
我们知道Linux系统上的diff命令用于对比两个文件的差异。它一般用于以下场景:
1. 查看两个文件版本之间的差异。
2. 对比两个配置文件或者代码源文件。
3. 创建一个补丁文件用于LInux/unix的程序修补工作。

linux对比两个文件内容并带颜色高亮显示差异

2. 带亮亮颜色输出文件对比结果

colordiffdiff的包装器,它产生与diff相同的输出,但在命令行中使用彩色语法高亮显示以提高可读性。 colordiff命令已经在各种Linux和OpenBSD下进行了测试,但应该可以广泛地移植到其他系统。

linux带亮亮颜色输出文件对比结果

3. 安装Linux文件对比命令colordiff

colordiff命令程序用于许多Linux发行版,类UNIX系统和BSD发行版以及其他操作系统。让我们看看如何安装colordiff命令。

CentOS/RHEL系统,请使用以下命令进行安装:
需要先安装EPEL仓库,默认仓库并没有colordiff命令

[root@zcwyou ~]# yum -y install epel-release

开始安装colordiff

[root@zcwyou ~]# yum install colordiff

linux安装colordiff对比两个文件的差异

Fedora系统执行以下命令安装colordiff命令

sudo dnf install colordiff

Debian/Ubuntu/Mint Linux执行以下命令安装colordiff命令

sudo apt-get install colordiff

OpenBSD系统使用pkg_add工具安装colordiff命令

pkg_add -v colordiff

安装过程会显示如下类似的内容:
Update candidates: quirks-2.414 -> quirks-2.414
quirks-2.414 signed on 2018-03-28T14:24:37Z
colordiff-1.0.18: ok
Extracted 31057 from 31305

FreeBSD 安装colordiff
使用pkg命令进行安装

sudo pkg install colordiff

会有以下类似的输出结果:
Updating FreeBSD repository catalogue…
FreeBSD repository is up to date.
All repositories are up to date.
The following 1 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
colordiff: 1.0.18

Number of packages to be installed: 1

14 KiB to be downloaded.

Proceed with this action? [y/N]: y
[rsnapshot] [1/1] Fetching colordiff-1.0.18.txz: 100% 14 KiB 14.7kB/s 00:01
Checking integrity… done (0 conflicting)
[rsnapshot] [1/1] Installing colordiff-1.0.18…
[rsnapshot] [1/1] Extracting colordiff-1.0.18: 100%

macOS系统安装 colordiff
使用brew 命令进行安装

brew install colordiff

4. colordiff使用语法

比如对比file1和file2的文件内容:

colordiff file1 file2

或者:

diff -u file1 file2 | colordiff

您可以使用-R或-r选项将输出传递给less命令,该选项保留颜色转义序列,否则显示不正确或被被less命令丢弃:

diff -u file1 file2 | colordiff | less -R

图2:

5. colordiff命令的替代方案,比较两个文件的差异

linux其它更多的文件对比命令工具

使用remark命令对比两个文件的差异,如下所示:

diff file1 file2 | remark /usr/share/regex-markup/diff

关于remark命令,之前已经介绍过了。
高亮显示系统日志应该用什么命令

当然,你也可以使用grc命令

grc diff file1 file2

GNU/Linux 用户也可以不安装colordiff,使用以下语法颜色化高亮文件差异结果。

diff --color file1 file2
diff --color resolv.conf resolv.conf.saved

另一种选择是使用vimdiff命令使用Vim编辑文件的两个或更多版本并显示差异

vimdiff file1 file2
viff resolv.conf resolv.conf.saved

6. 结论

刚刚给大家介绍了如何使用diff命令对Unix/Linux,macOS和*BSD系统上的输出进行着色。有关colordiffdiff命令的信息,请使用以下语法阅读手册页:

man diff
man colordiff
赞(0)
未经允许不得转载:Linux入门学习到精通 » linux对比两个文件内容并带高亮颜色显示差异
分享到: 更多 (0)

学习QQ群:557371664

关注微信公众号自助视频学习

评论 抢沙发

评论前必须登录!