COMM(1) User Commands COMM(1)

comm
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:

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.

If either file1 or file2 is , comm uses standard input starting at the current location.

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 common to both file1 and file2.

The following operands are supported:
file1
A path name of the first file to be compared. If file1 is , the standard input is used.
file2
A path name of the second file to be compared. If file1 is , the standard input is used.

The following exit values are returned:
0
All input files were successfully output as specified.
>0
An error occurred.

Example 1 Printing a list of utilities specified by files

If file1, file2, and file3 each contain a sorted list of utilities, the command

    $ comm -23 file1 file2  | comm -23 - file3
    

prints a list of utilities in file1 not specified by either of the other files.

The command:

    $ comm -12 file1 file2 | comm -12 - file3
    

prints a list of utilities specified by all three files; and the command:

    $ 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, LC_NUMERIC, and NLSPATH.

The command line interface of comm is Committed. The output of comm is Committed.

cmp(1), diff(1), sort(1), uniq(1), attributes(5), environ(5), largefile(5), standards(5)
February 9, 2021 illumos