I need to diff two files (not two versions of the same file, they are however tracked by git, but that is unrelated) and I would like some colored output, how can I achieve that?
$ diff file_1 file_2
1,9d0
< <script ... >
< // more code
< </script>
$
Above code shows me the difference between those files, however without any colors. For longer diffs that is hard to read.
Alternatively, is there a way for git (with which I do have nice color output) to diff two different files (not changes to a file)?
OSX (10.7.5)
Best Answer
Perl has a a lackluster colordiff wrapper for diff, but I prefer grc (generic colorizer).
With grc (generic colorizer), you can write your own wrappers for different types of commands or inputs (if you like that sort of thing).
Below,
grc
is running against/var/log/syslog
(in the config, this file is set to a certain color scheme), where it highlights processes, pids, IPs and "connect"s.Of course, it is recommended to use an alias so you don't forget:
If you have git, you may just want to use that, which allows very robust
diff
ing, even across branches.You do not have to use
git diff
within a repository, you can use it for just regular files.As always, you can alias
diff
for ease of use.