COMM(1) | General Commands Manual | COMM(1) |
comm
— select or
reject lines common to two files
comm |
[-123i ] file1 file2 |
The comm
utility reads
file1 and file2, which should be
sorted lexically, and produces three text columns as output: lines only in
file1; lines only in file2; and
lines in both files.
The filename ``-'' means the standard input.
The following options are available:
-1
-2
-3
-i
Each column will have a number of tab characters prepended to it equal to the number of lower numbered columns that are being printed. For example, if column number two is being suppressed, lines printed in column number one will not have any tabs preceding them, and lines printed in column number three will have one.
The comm
utility assumes that the files
are lexically sorted; all characters participate in line comparisons.
The LANG
, LC_ALL
,
LC_COLLATE
, and LC_CTYPE
environment variables affect the execution of comm
as described in environ(7).
The comm
utility exits 0 on
success, and >0 if an error occurs.
Assuming a file named example.txt with the following contents:
a b c d
Show lines only in example.txt, lines only in stdin and common lines:
$ echo -e "B\nc" | comm example.txt - B a b c d
Show only common lines doing case insensitive comparisons:
$ echo -e "B\nc" | comm -1 -2 -i example.txt - b c
The comm
utility conforms to
IEEE Std 1003.2-1992 (“POSIX.2”).
The -i
option is an extension to the POSIX
standard.
A comm
command appeared in
Version 4 AT&T UNIX.
July 27, 2020 | macOS 15.0 |