Você poderia tentar assim
sed '/Queue/{N;$d;N;$d;N;/==$/d}' infile
Isso apenas puxa as próximas três linhas quando a linha corresponder a Queue
. Se o espaço padrão terminar com um separador 1 , ele será excluído (ou se 2 a 1ª linha ou a 2ª linha for a última da entrada). < br>
Se outras linhas podem terminar com sinais =
consecutivos, você deve substituir o ==$
na regex por uma correspondência exata para o separador, por exemplo =\{37\}$
1: Isso pressupõe que um separador é uma linha correspondente a ^[[:blank:]]*==*$
(portanto, nenhum espaço à direita).
2: Como o conteúdo do seu arquivo é produzido por um script, o arquivo deve sempre terminar com uma linha vazia - portanto, o sed deve verificar apenas se a segunda linha é a última linha do arquivo (para detectar se o último bloco está vazio), mas no seu exemplo está faltando a linha final. eu> ou ...