Simples com awk
, se o campo de associação for único:
awk -F"|" 'a[$1]++' file1 file2
-
-F"|"
define o canal como delimitador -
a[$1]++
é uma condição. Quando a condição é verdadeira, a linha é impressa. A condição se torna verdadeira quando o primeiro campo$1
aparece mais de uma vez.
Se o campo de associação não for único:
awk -F"|" 'a[$1]++&&FNR!=NR' file1 file2
-
FNR!=NR
: também é uma condição que deve ser verdadeira. Isso se aplica somente ao segundo arquivofile2
que é processado. Essa condição pode ser removida quando você puder garantir que o primeiro campo em ambos os arquivos seja exclusivo.