[RndTbl] bash script for printing lines that don't match?

Grigory Shamov Grigory.Shamov at ad.umanitoba.ca
Thu Sep 27 10:13:56 CDT 2012


Hi,

Not in bash, but awk: will show what is in file1 but not in file2

awk 'FNR == NR {arr[$0];next} !($1 in arr) {print}' file1 file2


I've used this to compare lists of rpms on our machines.


-- 
Grigory Shamov
HPC Analyst, Westgrid/Compute Canada
E2-588 EITC Building, University of Manitoba
(204) 474-9625





On 12-09-18 12:13 PM, "John Lange" <john at johnlange.ca> wrote:

>I think I've asked this in the past but try as I might I can't
>remember what the answer was or figure out how I solved it before.
>
>I have 2 files that are nearly identical and I need to know which
>lines in the two files do _not_ match.
>
>I can think of some relatively complex loops with grep etc. which
>would probably work (for every line in file A, grep in file B etc.)
>solve the problem but I'm hoping for something more elegant.
>
>I thought at first that perhaps "join" would do it but even though it
>will provide left and right joins, there is no way to prevent it from
>outputting the matching lines.
>
>Any ideas?
>
>John
>_______________________________________________
>Roundtable mailing list
>Roundtable at muug.mb.ca
>http://www.muug.mb.ca/mailman/listinfo/roundtable




More information about the Roundtable mailing list