Usar o GNU awkonde ele suporta length(array)recursos específicos (e alguma outra awkimplementação que possa suportar) e não é necessário se os arquivos forem classificados.
gawk 'FNR==NR{seen[$0];next} ($0 in seen){delete seen[$0]};
END{print (!length(seen))?"Matched":"Not Matched"}' file2 file1
Isso está lendo o arquivo2 em uma matriz chamada seencom a chave como linha inteira do arquivo2 .
Em seguida, leia o arquivo1 e, para cada linha, se corresponder às linhas da matriz vista, exclua essa chave.
No final, se a matriz estava vazia, todas as linhas do arquivo2 existem no arquivo1 e serão impressas Matched, caso contrário, serão exibidas Not Matched.
Para a compatibilidade em todas as awkimplementações.
awk 'FNR==NR{seen[$0];next} ($0 in seen){delete seen[$0]};
END{for(x in seen);print (!x)?"Matched":"Not Matched"}' file2 file1
Para ignorar linhas vazias / ou linhas com espaços em branco somente se no arquivo2 , você precisará adicionar NFà condição NR==FNR && NF {...para pular a leitura delas na matriz.
file2contém 2 linhasA, você precisafile1conter pelo menos 2 linhasA?