How To: List the lines that exist in one file and not another in Linux or Windows Command Line
This solution uses grep.
Grep is a search tool that exists by default in just about every Linux installation. You can also search Google for Windows Grep.
for a Demo, Here is FileA.txt
1. In Both
2. In Both
3. In Both
4. In File A Only
5. In Both
0. Out of Order In Both
-1. Out of Order In A Only
In A only
Here is FileB.txt
1. In Both
2. In Both
3. In Both
4. In File B Only
5. In Both
0. Out of Order In Both
-1. Out of Order In B Only
In B only
To show lines that only exist in File B and not in A. Do this:
# grep -v -xFf FileA.txt FileB.txt
4. In File B Only
-1. Out of Order In B Only
In B only
To show lines that only exist in File A and not in B. Do this:
# grep -v -xFf FileB.txt FileA.txt
4. In File A Only
-1. Out of Order In A Only
In A only
In windows, Grep you can drop the capital F from the command line. But it really shouldn’t matter.
The command line arguments are:
-v = Reverse the compare so you get what doesn’t match instead of what does
-x = Compare entire lines at a time instead of characters
-F = Do not parse the contents of each line for any mid-line regex commands
-f = Compare the specified files
Hope that helps someone!