#!/usr/bin/env python3.6 import sys fn = sys.argv[1] out = sys.argv[2] with open(fn, "rb") as fd: lines = fd.read().split(b"\n") def dup(lines, what): idx = [] met = False for i, line in enumerate(lines): if line == "": break if met: if line.startswith(b" "): idx.append(i) continue else: met = False if line.startswith(what): if len(idx) == 0: idx.append(i) met = True else: return [l for n, l in enumerate(lines) if n not in idx] return lines lines = dup(lines, b"To") lines = dup(lines, b"From") lines = dup(lines, b"Subject") with open(out, "wb") as fd: fd.write(b"\n".join(lines))