/**/ Use of comm and diff commands in Linux - Dextutor

Use of comm and diff commands in Linux

Linux offers two commands to compare the text written within files: comm and diff. In this article we focus on the use of comm and diff commands in Linux and understand the difference in the output by each.

comm command in Linux

The comm command is used to compare two sorted files. The output contains three columns. The first column includes lines unique to FILE1, the second column contains lines unique to FILE2 and the third column contains the lines common to both files

Syntax

$comm [OPTIONS] FILE1 FILE2

Example

Use of comm command in Linux
Use of comm command

Figure 8 shows the comparison between two sorted files win and mac. In the output the first column contains lines unique to file win, the second column contains lines unique to mac and the third column contains the common lines.

Note: comm command will work only on sorted files

Options

-1: will suppress the first column from the output

-2: will suppress the second column from the output

-3: will suppress the third column from the output

diff command in Linux

Another command used to compare files is diff. The command displays the two files and the difference between them. The output contains certain symbols which suggest how to make one file look like the other. The less than (<) symbol with a line means that line should be removed from the first file because it doesn’t appear in the second. The greater than (>) symbol with a line after it means that line should be added from the second line. Apart from this the lines numbers are also mentioned for each file that would be affected by deletion (d), addition (a) and change (c) operations.

Syntax

$diff [OPTION]… FILES

Example

Use of diff command in Linux
Use of diff command

Options

-b: ignore spacing difference

-i: ignore case difference

-w: ignore spacing difference and tab

Practice questions based on comm and diff commands

Q1. Suppose you have two files F1 and F2 which have 100 lines of text each. You need to compare them as they are supposed to be similar. Which command would you use?

Relevant Commands