입력 파일의 3열에 있는 다른 파일의 숫자가 있는 행을 제외하는 출력 파일을 만들고 싶습니다.
3열에 숫자가 있는 행을 포함하기 위해 Guru의 도움을 받아 다음 스크립트를 사용했습니다.
awk 'NR==FNR{a[$1];next}($3 in a)' extract.file input.file > output file
하지만 이제는 숫자가 있는 줄을 출력 파일에 복사하고 싶지 않습니다.
예: extract.file이 있습니다.
123
689
456
및 input.file
1 AB 123 home 123
1 AC 568 cat 123
1 BC 689 dog 565
1 BB 456 car 456
다음만 포함된 결과 파일을 원합니다.
1 AC 568 cat 123
스크립트를 변경하는 방법을 알고 있거나 이 문제를 해결할 수 있는 다른 스크립트가 있는 사람이 있습니까?
답변1
부정적인 조건:
awk 'NR==FNR{a[$1];next}!($3 in a)' extract.file input.file
답변2
( x in array )는 값을 반환하므로 "배열에 없음"을 수행하려면 다음을 수행합니다.
awk 'NR==FNR{a[$1];next}($3 in a ==0)' extract.file input.file
이것도 작동합니다.