awk에서 파일 길이가 다른 두 입력 파일에서 일치하는 레코드를 얻는 방법은 무엇입니까?

awk에서 파일 길이가 다른 두 입력 파일에서 일치하는 레코드를 얻는 방법은 무엇입니까?

입력 파일

file 1==HQ|SCORE
file 2==HQ|WRST_PMT_STAT|total_exposure

결과물 파일

HQ|WRST_PMT_STAT|total_exposure|SCORE

이 두 파일의 공통점은HQ

awk -F'|' 'NR==FNR{c[$1]++;next};c[$1]' File1 file2 > output 

file2 입력만 받았지만 SCORE. 두 파일 모두 60,000개의 레코드를 포함합니다.

답변1

다음 명령을 사용해보십시오

awk -F "|" 'NR==FNR {b[FNR]=$2;a[$1];next}($1 in a){print $0"|"b[FNR]}' file1 file2

산출

HQ|WRST_PMT_STAT|total_exposure|SCORE

관련 정보