Você pode ser melhor ao reverter arquivos e campos:
awk -F: 'FNR==NR{a[$1]=$2;next} $2 in a{print $1 FS a[$2]}' email.phone.txt username.email.txt
user1:phoneexample
user131:phoneexample
Meu script gawk não está combinando com todos os resultados em potencial, apenas combinando com um deles ...
Exemplo -
script:
gawk -F: "FNR==NR{a[$2]=$1;next} $1 in a{print a[$1] FS $2}" username.email.txt email.phone.txt > username.phone.txt
email.phone.txt - contém:
[email protected]:phoneexample
username.email.txt - contém:
user1:[email protected]
user131:[email protected]
EXPECTED OUTPUT - deve ser:
user1:phoneexample
user131:phoneexample
em vez disso, ele corresponderá apenas a uma das linhas que contêm "[email protected]"
saída -
user131:[email protected]