Se você tem gnu grep
, pode executar:
grep -oFf file1 file2 | sort | uniq | grep -Ff - file1
remova o último grep
se não precisar preservar a ordem das linhas em file1
.
Se você não tiver acesso a gnu grep
, com awk
:
awk 'NR==FNR{z[$0]++;next};{for (l in z){if (index($0, l)) y[l]++}}
END{for (i in y) print i}' file1 file2