# If you'd like to omit non-matching lines from the result; add ';d' to the end of the expression.
sed -E 's/(^.*(?<=\bobj)\s*\R)[\s\S]*?\\/Form[\s\S]*?^(stream\s*^)[\s\S]*?^(endstream\s+endobj)/\1\2\3/gm;t' <<< "40 0 obj
<<
/PieceInfo
/Subtype /Form
/Resources
<<
/Font
<<
/Fm1 35 0 R
>>
>>
/Type /XObject
/BBox [0 -22.5 131.05 0]
/Length 601
/Matrix [1 0 0 1 0 0]
>>
stream
. . .
A bunch of compressed gibberish here
. . .
endstream
endobj"
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for SED, please visit: https://www.gnu.org/software/sed/manual/html_node/The-_0022s_0022-Command.html