Need to quickly compare two files for differences? The command line ‘diff’ tool offers a great choice for users comfortable with the Terminal. Diff allows you to easily compare two files, with the command output reporting back any differences between the inputted files.
The diff command is available by default on the Mac, and it works the same in Linux and other unix operating systems as well, just in care you were wondering, and for Windows users it’s quite similar to how the ‘fc’ file compare tool works.
For best results you’ll want to be working with plain text files of some sort and not rich text. If need be you can always make a copy of the file and convert it to plain text via the textutil command line tool on the Mac, or even by using TextEdit.
How to Use Diff to Compare Files at the Command Line
The diff is a command line tool, thus you must first launch the Terminal app, found in /Applicaitons/Utilities/ and then you’re ready to begin.
The basic syntax for diff at the command line is as follows:
diff (file input 1) (file input 2)
For example, if in the present directory we want to compare bash.txt and bash2.txt, the syntax would look like the following:
diff bash.txt bash2.txt
The -w flag can be handy for plain text files because it tells diff to ignore white space when comparing files. And of course you can use a full path to the files to compare as well if need be, for example to compare an edited hosts file with another version elsewhere:
diff -w /etc/hosts ~/Downloads/BlockEverythingHosts.txt
Sample output may look something like the following:
$ diff -w /etc/hosts ~/Downloads/BlockEverythingHosts.txt
< ## < 127.0.0.1 localhost > # time for a break
> 127.0.0.1 facebook.com
The greater than and less than symbols serve as pointer arrows of sorts, indicating which file the difference originated from in relation to the order presented in the original command syntax.
Diff is quite powerful, you can also use diff to compare two directory contents, which can be helpful for verifying backups or file changes or file integrity.
Obviously diff requires the command line, but if you’d rather be in the familiar graphical interface of Mac OS when comparing documents there are various options available as well, including comparing two word documents with Microsoft Word or if you’re working with code and syntax, try the Xcode FileMerge tool, git, or even the excellent BBEdit text editor for Mac. And if you’re on windows, the ‘fc’ command works basically the same as the diff command, with ‘fc file1 file2’ achieving more or less the same comparison as diff.
Have any other tips for diff, or for comparing two files against one another? Share them below!