BEGIN { incode = 0; passed = 0} /^\\begin{code}/ { incode = 1; skip = 1 } /^\\end{code}/ { incode = 0; skip = 1 } !skip && incode { print } !skip && !incode { print "--", $0 } { skip = 0 }