내 파일:
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