Я бы прочитал в файле-2, а затем поищу строки в файле-1, которых нет в массиве. Имейте в виду, что awk использует переменную SUBSEP
для соединения строк в индексе массива:
awk -F'!' 'NR == FNR {f2[$2,$4]; next} !($2 SUBSEP $4 in f2)' File-2 File-1
производит
7! J9AA-50! LHR! 35!
7! test3! test3! 8
7! test3! test3! 8
7! JWZZ-50! LHN! 15!