awk: 두 파일 비교

awk: 두 파일 비교

나는 file1.txt를 가지고 있습니다

USA Joe 123.123.123
Russia Marry 458.786.892
Canada Greg 151.844.165
Latvia Grace 125.895.688

및 파일 2.txt

1 123.123.123
2 151.844.165
3 465.879.515

result.txt새 파일을 만들고 file1과 file2에 주소(xxx.xxx.xxx)가 있는 줄만 인쇄하고 싶으 므로 결과는 다음과 같아야 합니다.

USA Joe 123.123.123
Canada Greg 151.844.165

awk를 사용해야 하는데 이 두 파일에 어떻게 사용해야 하나요?

답변1

당신은 시도 할 수 있습니다:

awk 'FNR==NR{a[$2];next};$NF in a' file2.txt file1.txt > result.txt

답변2

어쩌면 다음과 같은 것일 수도 있습니다.

join -1 3 -2 2 <(sort -k 3 file1.txt) <(sort -k 2 file2.txt) | awk '{ print $2, $3, $1 }'

이것:

  • 메모리에 있는 파일을 완전히 읽지 마십시오.
  • 아직도 사용하고 있어요 awk(1);)

관련 정보