두 파일의 서로 다른 값의 두 열을 비교하고 중복을 무시하지 않고 일치 항목을 인쇄합니다.

두 파일의 서로 다른 값의 두 열을 비교하고 중복을 무시하지 않고 일치 항목을 인쇄합니다.

내 file1에는 서로 다른 값을 가진 두 개의 열이 있고 file2에는 중복 값이 ​​있는 열이 하나 있습니다. 그러나 file1의 열 1을 file2의 열 1과 일치시키고 file2의 열 2의 중복 값을 인쇄하려고 합니다. 어떤 제안이 있으십니까?

파일 1.txt

YGR192C TDH3
YLR044C PDC1
YLR110C CCW12

파일 2.txt

YGR192C
YGR192C
YLR044C 
YLR044C
YLR110C
YLR110C

예상 출력

YGR192C TDH3
YGR192C TDH3
YLR044C PDC1
YLR044C PDC1
YLR110C CCW12
YLR110C CCW12

답변1

다음 awk절차가 작동합니다.

awk 'FNR==NR{key[$1]=$2;next} {$2=key[$1]}1' file1.txt file2.txt

이 질문은 중복된 질문인 것이 확실합니다만...

관련 정보