1.\" Copyright (c) 1989, 1990, 1993 2.\" The Regents of the University of California. All rights reserved. 3.\" 4.\" This code is derived from software contributed to Berkeley by 5.\" the Institute of Electrical and Electronics Engineers, Inc. 6.\" 7.\" Redistribution and use in source and binary forms, with or without 8.\" modification, are permitted provided that the following conditions 9.\" are met: 10.\" 1. Redistributions of source code must retain the above copyright 11.\" notice, this list of conditions and the following disclaimer. 12.\" 2. Redistributions in binary form must reproduce the above copyright 13.\" notice, this list of conditions and the following disclaimer in the 14.\" documentation and/or other materials provided with the distribution. 15.\" 3. Neither the name of the University nor the names of its contributors 16.\" may be used to endorse or promote products derived from this software 17.\" without specific prior written permission. 18.\" 19.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 20.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 21.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 22.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 23.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 24.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 25.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 26.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 27.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 28.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 29.\" SUCH DAMAGE. 30.\" 31.\" From: @(#)comm.1 8.1 (Berkeley) 6/6/93 32.\" $FreeBSD$ 33.\" 34.Dd July 27, 2020 35.Dt COMM 1 36.Os 37.Sh NAME 38.Nm comm 39.Nd select or reject lines common to two files 40.Sh SYNOPSIS 41.Nm 42.Op Fl 123i 43.Ar file1 file2 44.Sh DESCRIPTION 45The 46.Nm 47utility reads 48.Ar file1 49and 50.Ar file2 , 51which should be 52sorted lexically, and produces three text 53columns as output: lines only in 54.Ar file1 ; 55lines only in 56.Ar file2 ; 57and lines in both files. 58.Pp 59The filename ``-'' means the standard input. 60.Pp 61The following options are available: 62.Bl -tag -width indent 63.It Fl 1 64Suppress printing of column 1, lines only in 65.Ar file1 . 66.It Fl 2 67Suppress printing of column 2, lines only in 68.Ar file2 . 69.It Fl 3 70Suppress printing of column 3, lines common to both. 71.It Fl i 72Case insensitive comparison of lines. 73.El 74.Pp 75Each column will have a number of tab characters prepended to it 76equal to the number of lower numbered columns that are being printed. 77For example, if column number two is being suppressed, lines printed 78in column number one will not have any tabs preceding them, and lines 79printed in column number three will have one. 80.Pp 81The 82.Nm 83utility assumes that the files are lexically sorted; all characters 84participate in line comparisons. 85.Sh ENVIRONMENT 86The 87.Ev LANG , 88.Ev LC_ALL , 89.Ev LC_COLLATE , 90and 91.Ev LC_CTYPE 92environment variables affect the execution of 93.Nm 94as described in 95.Xr environ 7 . 96.Sh EXIT STATUS 97.Ex -std 98.Sh EXAMPLES 99Assuming a file named 100.Pa example.txt 101with the following contents: 102.Bd -literal -offset indent 103a 104b 105c 106d 107.Ed 108.Pp 109Show lines only in 110.Pa example.txt , 111lines only in stdin and common lines: 112.Bd -literal -offset indent 113$ echo -e "B\enc" | comm example.txt - 114 B 115a 116b 117 c 118d 119.Ed 120.Pp 121Show only common lines doing case insensitive comparisons: 122.Bd -literal -offset indent 123$ echo -e "B\enc" | comm -1 -2 -i example.txt - 124b 125c 126.Ed 127.Sh SEE ALSO 128.Xr cmp 1 , 129.Xr diff 1 , 130.Xr sort 1 , 131.Xr uniq 1 132.Sh STANDARDS 133The 134.Nm 135utility conforms to 136.St -p1003.2-92 . 137.Pp 138The 139.Fl i 140option is an extension to the POSIX standard. 141.Sh HISTORY 142A 143.Nm 144command appeared in 145.At v4 . 146