Это может работать для вас (GNU sed):
sed -n '/{content-start}/{x;s/^/x/;x;:a;N;/{content-end}/!ba;x;/^x\{2\}$/{x;p;x};x}' file
Используйте опцию -n
для репликации seds grep-like-nature.Соберите линии между маркерами начала и конца.В начале коллекции добавьте флаг в область удержания, чтобы использовать его в качестве счетчика.Собрав все необходимые строки, печатайте только в том случае, если в поле для хранения содержится нужное число.
Это решение печатает только второй блок, однако, если вы хотите исключить только блок 1 и блок 3, то:
sed '/{content-start}/{x;s/^/x/;x;:a;N;/{content-end}/!ba;x;/^x\{1\}$/{x;d};/^x\{3\}/{x;d};x}' file
Это решение удаляет только блоки 1 и 3.