comm — compare two sorted files line by line
Examples (TL;DR)
-
Produce three tab-separated columns: lines only in first file, lines only in second file and common lines:
comm file1 file2
-
Print only lines common to both files:
comm -12 file1 file2
-
Print only lines common to both files, reading one file from
stdin
:cat file1 | comm -12 - file2
-
Get lines only found in first file, saving the result to a third file:
comm -23 file1 file2 > file1_only
-
Print lines only found in second file, when the files aren't sorted:
comm -13 <(sort file1) <(sort file2)
Synopsis
comm [OPTION]... FILE1 FILE2
Description
Compare sorted files FILE1 and FILE2 line by line.
When FILE1 or FILE2 (not both) is -, read standard input.
With no options, produce three-column output. Column one contains lines unique to FILE1, column two contains lines unique to FILE2, and column three contains lines common to both files.
- -1
suppress column 1 (lines unique to FILE1)
- -2
suppress column 2 (lines unique to FILE2)
- -3
suppress column 3 (lines that appear in both files)
- --check-order
check that the input is correctly sorted, even if all input lines are pairable
- --nocheck-order
do not check that the input is correctly sorted
- --output-delimiter=STR
separate columns with STR
- --total
output a summary
- -z, --zero-terminated
line delimiter is NUL, not newline
- --help
display this help and exit
- --version
output version information and exit
Note, comparisons honor the rules specified by 'LC_COLLATE'.
Examples
- comm -12 file1 file2
Print only lines present in both file1 and file2.
- comm -3 file1 file2
Print lines in file1 not in file2, and vice versa.
Reporting Bugs
GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>
Copyright
Copyright © 2019 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
See Also
Full documentation <https://www.gnu.org/software/coreutils/comm>
or available locally via: info '(coreutils) comm invocation'