Seu script do AWK está quase lá:
awk -F'|' 'NR==FNR{c[$1]++;next};c[$1] > 0' file1 file2 > output.txt
funciona, depois de mudar os finais de linha do Mac para o Unix:
tr '\r' '\n' < file1 > file1.new
mv file1.new file1
tr '\r' '\n' < file2 > file2.new
mv file2.new file2
$1 é o primeiro campo no AWK.
Em vez de c[$1] > 0 , você pode escrever c[$1] . O > 0 não é necessário: qualquer valor diferente de zero funciona, portanto, também podemos usar o conteúdo de c diretamente:
awk -F'|' 'NR==FNR{c[$1]++;next};c[$1]' file1 file2 > output.txt
[