- select or reject lines common to two files
comm [-123] file1 file2
The comm utility reads file1 and file2, which must be ordered in the current collating sequence, and produces three text columns as output: lines only in file1; lines only in file2; and lines in both files.
If the input files were ordered according to the collating sequence of the current locale, the lines written will be in the collating sequence of the original lines. If not, the results are unspecified.
The following options are supported:
Suppresses the output column of lines unique to file1.
Suppresses the output column of lines unique to file2.
Suppresses the output column of lines duplicated in file1 and file2.
The following operands are supported:
A path name of the first file to be compared. If file1 is -, the standard input is used.
A path name of the second file to be compared. If file2 is -, the standard input is used.
See largefile(5) for the description of the behavior of comm when encountering files greater than or equal to 2 Gbyte ( 231 bytes).
Example 1 Printing a list of utilities specified by files
If file1, file2, and file3 each contain a sorted list of utilities, the command
example% comm -23 file1 file2 | comm -23 - file3
prints a list of utilities in file1 not specified by either of the other files. The entry:
example% comm -12 file1 file2 | comm -12 - file3
prints a list of utilities specified by all three files. And the entry:
example% comm -12 file2 file3 | comm -23 -file1
prints a list of utilities specified by both file2 and file3, but not specified in file1.
See environ(5) for descriptions of the following environment variables that affect the execution of comm: LANG, LC_ALL, LC_COLLATE, LC_CTYPE, LC_MESSAGES, and NLSPATH.
The following exit values are returned:
All input files were successfully output as specified.
An error occurred.
See attributes(5) for descriptions of the following attributes: