1. 前言
本文主要讲解如何在Linux系统上对比两个文件的内容并以带颜色高亮显示两者的差异。
我们知道Linux系统上的diff
命令用于对比两个文件的差异。它一般用于以下场景:
1. 查看两个文件版本之间的差异。
2. 对比两个配置文件或者代码源文件。
3. 创建一个补丁文件用于LInux/unix的程序修补工作。
2. 带亮亮颜色输出文件对比结果
colordiff
是diff
的包装器,它产生与diff相同的输出,但在命令行中使用彩色语法高亮显示以提高可读性。 colordiff
命令已经在各种Linux和OpenBSD下进行了测试,但应该可以广泛地移植到其他系统。
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
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
命令的替代方案,比较两个文件的差异
使用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
系统上的输出进行着色。有关colordiff
和diff
命令的信息,请使用以下语法阅读手册页:
man diff
man colordiff
评论前必须登录!
注册