![왼쪽(외부) 조인 [중복]](https://linux55.com/image/128689/%EC%99%BC%EC%AA%BD(%EC%99%B8%EB%B6%80)%20%EC%A1%B0%EC%9D%B8%20%5B%EC%A4%91%EB%B3%B5%5D.png)
내 파일:
file1.txt
=========
key1
key1
key1
key1
key2
key2
key3
key3
key3
key4
key4
file2.txt
=========
key1 22
key2 23
key3 24
Expected Output :
==================
key1 22
key1 22
key1 22
key1 22
key2 23
key2 23
key3 24
key3 24
key3 24
내가 찾은 모든 솔루션은 문자열과 반복적으로 일치하지 않습니다.
awk '{a[$1]=a[$1]" "$2} END{for(i in a)print i, a[i]}'
join -a 1
왼쪽 외부 조인을 생성하려면 이 접근 방식에서 무엇을 수정해야 합니까?
답변1
Awk
해결책:
awk 'NR==FNR{ a[$1]=$2; next }$1 in a{ $2=a[$1]; print }' file2.txt file1.txt
산출:
key1 22
key1 22
key1 22
key1 22
key2 23
key2 23
key3 24
key3 24
key3 24
아니면 단순히join
주문하다:
join -o1.1,2.2 file1.txt file2.txt