If order doesn't matter (i.e. just exclude all emails with an md5 in the exclude file) and you're not wedded to awk, use join:
join -v 1 -j 1 <(sort emails) <(sort excludes) -v 1 tells it to print lines in the first file (emails) that don't have a corresponding line in the second file (excludes).
-j 1 tells it to only look at the first column of each.
If you want to use awk, I believe this should work:
awk 'NF==1{exclude[$1]++} NF==2&&!exclude[$1]' excludes emails Or if the two files correspond line-by-line and you only want to exclude, e.g. line 2 if both have the same hash on that particular line, use this:
awk 'NF==1{hash[FNR]=$1} NF==2&&hash[FNR]!=$1' excludes emails