# If you'd like to omit non-matching lines from the result; add ';d' to the end of the expression.
sed -E 's/\+\\/\-[\s\S]+?\/\/[\s\S]+?(^\};\s+$)//gmx;t' <<< "block \"block1\"
{
ADDSFDJF
SDFSDFSDF
SDFSDFSDF
// subblock: subblock1 [master]
include \"/path/tofile/subblock1.conf\";
+/- subblock subblock1
// subblock: subblock1
subblock \"subblock1\"
{
type TYPE;
file \"name.file\";
details blah blah.
other {sdhsdf};
};
};
file \"dddd.file\";
details blah blah.
// subblock: subblock2
include \"/path/tofile/subblock2.conf\";
+/- subblock subblock2
// subblock: subblock2
subblock \"subblock2\"
{
type TYPE;
file \"name.file\";
details blah blah.
other {sdhsdf};
more fields
};
};"
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