Gawk 부분 일치

Gawk 부분 일치

내 gawk 스크립트는 모든 잠재적 결과와 일치하지 않으며 그 중 하나만 일치합니다.

예 -

스크립트:

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 - 다음을 포함합니다:

 [email protected]:phoneexample

사용자 이름.email.txt - 포함:

 user1:[email protected]
 user131:[email protected]

예상 출력 - 다음과 같아야 합니다.

 user1:phoneexample
 user131:phoneexample

대신, "를 포함하는 줄 중 하나만 일치합니다.[이메일 보호됨]"

출력 -

 user131:[email protected]

답변1

파일과 필드를 반대로 하면 더 나을 수도 있습니다.

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

관련 정보