diff options
author | Bernhard Voelker <mail@bernhard-voelker.de> | 2016-11-22 22:03:47 +0100 |
---|---|---|
committer | Bernhard Voelker <mail@bernhard-voelker.de> | 2016-11-22 22:03:47 +0100 |
commit | b50a151346c42816034b5c26266eb753b7dbe737 (patch) | |
tree | 0ee2b87aec984af4593d9a31301828c24f110dfb /doc | |
parent | 812877bfcb34edbff1ba554555bd2ddb613a22cc (diff) | |
download | coreutils-b50a151346c42816034b5c26266eb753b7dbe737.tar.xz |
comm: add --total option
* src/comm.c (total_option): Add bool variable for the new option.
(TOTAL_OPTION): Add enum value.
(long_options): Add array element for the new option.
(usage): Document the new option here.
(compare_files): Count the lines in total[3], and output the summary at
the end.
(main): Accept the new option.
* doc/coreutils.texi (comm invocation): Document it.
* tests/misc/comm.pl: Test it. While at it, improve the test data
to have 1 unique line in the first file, 2 unique lines in the second
file, and 3 common lines.
* NEWS (New Features): Mention the new option.
Fixes http://bugs.gnu.org/24929
Diffstat (limited to 'doc')
-rw-r--r-- | doc/coreutils.texi | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/doc/coreutils.texi b/doc/coreutils.texi index d0694fdd0..521ac3923 100644 --- a/doc/coreutils.texi +++ b/doc/coreutils.texi @@ -5174,6 +5174,37 @@ rather than the default of a single TAB character. The delimiter @var{str} may not be empty. +@item --total +Output a summary at the end. + +Similar to the regular output, +column one contains the total number of lines unique to @var{file1}, +column two contains the total number of lines unique to @var{file2}, and +column three contains the total number of lines common to both files, +followed by the word @samp{total} in the additional column four. + +In the following example, @command{comm} omits the regular output +(@option{-123}), thus just printing the summary: + +@example +$ printf '%s\n' a b c d e > file1 +$ printf '%s\n' b c d e f g > file2 +$ comm --total -123 file1 file2 +1 2 4 total +@end example + +This option is a GNU extension. Portable scripts should use @command{wc} to +get the totals, e.g. for the above example files: + +@example +$ comm -23 file1 file2 | wc -l # number of lines only in file1 +1 +$ comm -13 file1 file2 | wc -l # number of lines only in file2 +2 +$ comm -12 file1 file2 | wc -l # number of lines common to both files +4 +@end example + @optZeroTerminated @end table |