How do I Compare two files under Linux or UNIX?

You need to use diff command to display line-by-line difference between two files. The general syntax of diff command as follows:
diff FILE1 FILE2

Where,
FILE1 FILE2: Diff command will examine both file1 and file2 and tells you what changes need to be made for file1 and file2 to match. Please note that diff command point to which lines need be:

  1. Added (a)
  2. Deleted (d)
  3. Changed (c)
  4. Further lines in file1 identified with a less than () symbol and lines in file2 with a grater than (>) symbol.

Examples

diff file1.txt file2.txt

Output:

8c8,9
 URL: www.nixcraft.in
> Email: [email protected]

The contents of both files:

$ cat file1.txt

Output:

Welcome to SXI LLC!

If undeliverd return to SXI LLC
#404, DC bay area, 2nd phase,
Pune.

Ph: 555-11112223
URL: www.nixcraft.com

$ cat file2.txt

Output:

Welcome to SXI LLC!

If undeliverd return to SXI LLC
#404, DC bay area, 2nd phase,
Pune.

Ph: 555-11112223
URL: www.nixcraft.in
Email: [email protected]

Side-by-side merge of file differences
You can get a clear-cut visual difference between two text files using the command sdiff:

$ sdiff file1.txt file2.txt

Output:

Welcome to SXI LLC!                                            Welcome to SXI LLC!

If undeliverd return to SXI LLC                                If undeliverd return to SXI LLC
#404, DC bay area, 2nd phase,                                   #404, DC bay area, 2nd phase,
Pune.                                                           Pune.

Ph: 555-11112223                                                Ph: 555-11112223
URL: www.nixcraft.com                                         | URL: www.nixcraft.in
                                                              > Email: [email protected]

Posted by: SXI ADMIN

The author is the creator of SXI LLC and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.