gawk를 사용하여 데이터를 상호 참조할 때 문제가 있습니다.
gawk -F: 'FNR==NR{a[$1]=$2;next} $2 in a{print $1 FS a[$2]}' email.phone.txt name.email.txt > name.phone.txt
이메일.전화 콘텐츠 예:
[email protected]:012345
[email protected]:912345
name.email.txt 예:
Charles:[email protected]
Erica:[email protected]
예상 출력
Charles:012345
Charles:912345
Erica:012345
Erica:912345
그러나 해당 이메일과 마지막으로 일치하는 전화만 출력하므로 다음과 같이 출력됩니다.
Charles:912345
Erica:912345
그리고 해당 이메일에 사용한 첫 번째 전화를 끄십시오.
답변1
GNU awk ( gawk
) --그러나아니요일반 awk - 지원됨진짜다차원 배열의 경우 다음을 사용할 수 있습니다.
gawk -F: '
FNR==NR{a[$1][$2]=1;next}
$2 in a{for(i in a[$2]) print $1 FS i}
' email.phone.txt name.email.txt