파일에서 특정 단어가 포함된 줄 삭제

파일에서 특정 단어가 포함된 줄 삭제

입력 파일의 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

이것도 작동합니다.

관련 정보