correspondência parcial Gawk

1

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]
    
por questionaires 26.08.2018 / 22:12

1 resposta

1

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
    
por 26.08.2018 / 22:28

Tags