Comparators in Linux and Unix
Archive - Originally posted on "The Horse's Mouth" - 2004-10-03 07:35:37 - Graham EllisI always say that it'll be a sad day when I don't learn anything ... I'm always delighted to pick up nuggets and reminders from
trainees on courses whilst appreciating that the major knowledge flow has to be the other way.
So, in the spirit of always learning, may I (re)present you with the sdiff command on Unix and Linux which came up while covering utility commands the other day. It compares two files and displays the differences side by side. As ever with *nix systems, lots of options!
Note - the wide output of sdiff doesn't translate too well to the formatter of standard blogging software. You may prefer to view deep in the mouth.
earth-wind-and-fire:~/oct04 grahamellis$ sdiff -w 110 vione vitwo
Vi. You either love it or you hate it. Vi. You either love it or you hate it.
It's there on Unix and Linux, and it's an | It's there on every Unix and Linux, and it's an
editor written many years ago with the full editor written many years ago with the full
Unix philosophy embedded in it: Unix philosophy embedded in it:
* A maximum of actions for a minimum of keystrokes * A maximum of actions for a minimum of keystrokes
* A huge number of options to make it very useful | * A large number of options to make it very useful
in a wide range of scenarios in a wide range of scenarios
* Easy to use at the expense of being... * Easy to use at the expense of being...
Hard to learn Hard to learn
>
> It's worth everyone learning a few vi commands
If you're deploying an application on a Nix box, If you're deploying an application on a Nix box,
sooner or later you'll need vi. sooner or later you'll need vi.
earth-wind-and-fire:~/oct04 grahamellis$
Other comparator commands in Linux and Unix include:
diff - difference between 2 files as a "regular" report
diff3 - difference report between 3 files
cmp - file comparator ideal for binary data and use in scripts
comm - reports on common lines between files (similarities not differences)