다음 제안은 다음에서 나왔습니다.이 답변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