sort f1 | perl -pe 's/\|/~~/' > f1~ sort f2 | perl -pe 's/\|/~~/' > f2~ join -t'|' -a 1 -a 2 f2~ f1~ \ | perl -pe 's/~~/|/' \ | perl -F'/\|/' -ape 's/$/|NO MATCH/ unless $#F==3; $_'