awk는 mbox 구문 분석 후 일치하는 줄을 제거합니다.

awk는 mbox 구문 분석 후 일치하는 줄을 제거합니다.

다음 제안은 다음에서 나왔습니다.이 답변mbox 파일 형식을 읽고 질문과 관련 없는 일부 작업을 수행하기 위해 스크립트에서 다음 줄을 사용하고 있습니다.

awk "/^Subject\: $GOODSUBJECT$/{a=1}/^From\:\ $GOODSENDER /{print;a=0}a" $MBOX

내 스크립트가 작업을 마친 후 이 일치 항목에서 선택한 모든 행을 어떻게 삭제합니까?

sed예를 들어 공백을 일치시키면 공백이 있는 모든 줄이 모든 메시지에서 제거되기 때문에 내가 할 수 있는 것처럼 일치시켜서 하나씩 제거할 수는 없습니다 .

이 선택 항목으로 구분된 행만 삭제하고 싶습니다 awk.

가능합니까?

답변1

일치하지 않는 항목을 유지하려면 역방향 일치를 수행하세요.

awk "!/^Subject\: $GOODSUBJECT$/{a=1} !/^From\:\ $GOODSENDER /{print;a=0}a" $MBOX

관련 정보