특정 열이 있는 행을 제외하는 방법은 무엇입니까?

특정 열이 있는 행을 제외하는 방법은 무엇입니까?

탭으로 구분된 열을 포함하는 입력 파일이 있습니다.

네 번째와 열한 번째 열에서 "NA"가 포함된 행을 삭제해야 합니다.

질문:awk에서는 어떻게 할 수 있나요?

답변1

awk -F"\t" '$4 != "NA" || $11 != "NA"' filename

awk는 파일을 제자리에서 편집하지 않습니다. 변경 사항을 파일에 다시 저장하려면 다음을 수행하십시오.

tmp=$(mktemp)
awk -F"\t" '...' filename > "$tmp" && mv "$tmp" filename

답변2

awk기준에 맞지 않는 줄을 인쇄 하라고 지시합니다 .

BEGIN { FS="\t" }
$4 != "NA" || $11 != "NA"

이는 부울 논리의 역과정입니다 ~a|~b == a&b. 여기서 .

관련 정보