On 17/11/16 10:18, Bernhard Voelker wrote: > On 11/17/2016 11:12 AM, Pádraig Brady wrote: >> Usually you'd want counts separately from each other >> and separate from the data itself, in which case wc -l suffices: >> >> $ echo Lines in both = $(comm -12 file1 file2 | wc -l) >> $ echo Lines only in 1st = $(comm -23 file1 file2 | wc -l) >> $ echo Lines only in 2nd = $(comm -13 file1 file2 | wc -l) >> >> So this is in the efficiency/convenience category. > > You mean to change the --total flag to accept an argument? > > $ echo Lines in both = $( comm -123 --total=3 file1 file2) > $ echo Lines only in 1st = $(comm -123 --total=1 file1 file2) > $ echo Lines only in 2nd = $(comm -123 --total=2 file1 file2) > > and > > $ echo Lines only in 1st or 2nd = $(comm -123 --total=1,2 file1 file2)
Sorry I meant if you only wanted a single count, then the existing tools suffice. Your implementation is fine as is I think. thanks, Pádraig
