나는 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)
;)