colordiff

先日表題のコマンドを知ったので試してみた。

■ 環境

  • colordiff 2.8.1
  • Mac OSX El Capitan

■ colordiff

インストール。

$ brew update
$ brew install colordiff

インストールされたものを確認する。

$ brew ls colordiff
/usr/local/Cellar/colordiff/1.0.18/.bottle/etc/colordiffrc
/usr/local/Cellar/colordiff/1.0.18/bin/cdiff
/usr/local/Cellar/colordiff/1.0.18/bin/colordiff
/usr/local/Cellar/colordiff/1.0.18/share/man/ (2 files)
$

これを見て`cdiff`コマンドは、`colordiff`コマンドのaliasかと思ったのだがどうやら違った。使い方が少々違う。下記のようなファイルで試してみた。

$ cat test1
aaa
bbb
ccc
ddd
eee
fff
ggg
$ cat test2
aaa
bbb
ccc
ddd
ddd
eee
fff
ggg
$

通常の`diff`コマンドで試す。

$ diff test1 test2
4a5
> ddd
$ diff -u test1 test2
--- test1    2017-10-17 11:18:51.000000000 +0900
+++ test2    2017-10-17 11:18:59.000000000 +0900
@@ -2,6 +2,7 @@
 bbb
 ccc
 ddd
+ddd
 eee
 fff
 ggg
$

`colordiff`コマンドでは上記がカラー表示された。満足である。`cdiff`でも同じことができるのかと思いきや、、下記のようになってしまった。

$ cdiff test1 test2
aaa
bbb
ccc
ddd
eee
fff
ggg
aaa
bbb
ccc
ddd
ddd
eee
fff
ggg
$

単純に`cat`で連結されただけのように見える。どうやら使い方が違うようである。

$ diff -u test1 test2 | cdiff

これで同じ結果が得られた。

以上。