我终其一生都无法将colordiff
颜色输出到终端。我感觉我缺少了一些简单的东西。
环境:
cat /etc/centos-release
= CentOS Linux 版本 7.5.1804(核心)colordiff --version
= diff(GNU diffutils)3.3sudo yum info diffutils
= 版本 :3.3 | 发行版 :5.el7sudo yum info colordiff
= 版本 :1.0.13 | 发行版 :2.el7- 终端 = PuTTY 版本 0.74
- 操作系统 = Microsoft Windows 10 Home | 版本 10.0.19041 内部版本 19041
我正在尝试的具体命令:
\colordiff -y --left-column /opt/projects/openidm/subscribers/conf/authentication.json /opt/projects/git/subscribers/conf/authentication.json
我尝试过的命令不会输出颜色:
\colordiff -y --left-column <File-1> <File-2>
\colordiff -y --left-column --difftype=diffy <File-1> <File-2>
将在终端中输出所有文件颜色的命令:
\colordiff <File-1> <File-2>
\colordiff -y --ignore-trailing-space <File-1> <File-2>
\colordiff -y --ignore-trailing-space --suppress-common-lines <File-1> <File-2>
\colordiff -y --left-column --ignore-trailing-space --suppress-common-lines <File-1> <File-2>
根据文件差异类型输出颜色的命令:
\colordiff -y --left-column --suppress-common-lines <File-1> <File-2>
\colordiff -y --left-column --suppress-common-lines --difftype=diffy <File-1> <File-2>
\colordiff -y --suppress-common-lines <File-1> <File-2>
\colordiff -y --suppress-common-lines --difftype=diffy <File-1> <File-2>
\colordiff -y <File-1> <File-2>
\colordiff -y --difftype=diffy <File-1> <File-2>
\diff -y <File-1> <File-2> | \colordiff
\diff -y <File-1> <File-2> | \colordiff --difftype=diffy
注意:我在大多数命令前面都加上了 以\
确保不涉及别名。
更新:尝试比较多个文件后,发现我比较的原始文件末尾有一个空格,这导致了问题。也就是说,这个问题仍然需要我--suppress-common-lines
在原始命令中添加内容,尽管在我的情况下,这只会从输出中删除 2 行。
更新 2:我向维护者提交了一份错误报告这里。希望这能对将来的某人有所帮助。
答案1
根据您的测试,colordiff
CentOS 当前版本有一个奇怪的错误,其文件行尾包含空格。
在等待 的修复版本时colordiff
,一个立即的修复方法是创建 的别名colordiff -y --ignore-trailing-space
。