You can compare two text files in Linux using the following command-line tools:
– vim / vimdiff
These tools are already installed “out-of-the-box” in most Linux distributions.
Example files to compare (file1, file2):
[tuxfixer@tuxfixer ~]$ cat file1 orange blue yellow red pink
[tuxfixer@tuxfixer ~]$ cat file2 blue yellow purple black pink green
1. Comparing using diff
diff compares two files line-by-line and displays what needs to be changed in 1st file to match 2nd file.
Interpretation of results:
(<): line present in 1st file only
(>): line present in 2nd file only
[tuxfixer@tuxfixer ~]$ diff file1 file2 1d0 < orange 4c3,4 < red --- > purple > black 5a6 > green
Interpretation of above example:
(1d0): delete 1st line (orange) in file1 to match file2
(4c3,4): change 4th line (red) in file1 to 3rd line (purple) and 4th line (black) to match file2
(5a6): in file1 below 5th line add 6th line (green) to match file2
2. Comparing using vim / vimdiff
vim executed with parameter -d works like diff command. You can compare: two, three and four files, vim will open all of them and will display changes between them. You can alternatively execute vimdiff, which will also launch vim in diff mode.
[tuxfixer@tuxfixer ~]$ vim -d file1 file2
[tuxfixer@tuxfixer ~]$ vimdiff file1 file2
red highlighted text: line differs between file1 and file2
light-yellow highlighted text: line present in file1 only or in file2 only
light-blue highlighted dashed line: separator