Pelo que entendi sua pergunta, você está pedindo por isso:
sed -E '/^A/h;/^[AZ]/d;G;s/(.*)\n(.*)/ /' yourfile
Assim, as linhas que começam com A
são copiadas para o espaço de espera ( /^A/h
),
então as linhas que começam com A
ou Z
são excluídas, pois não queremos imprimi-las ( /^[AZ]/d
). Para todas as outras linhas, o espaço de espera com a linha A
é adicionada ( G
), ambas as partes são trocadas separadas por um espaço em branco em vez de uma nova linha ( s/(.*)\n(.*)/ /
)
(Um pouco mais fácil com uma expansão de sed
que fiz por mim mesmo: \h
na substituição é expandida para o conteúdo do buffer de retenção:
sed -E '/^A/h;/^[AZ]/d;G;s/^/\h /' yourfile
Se eu encontrar mais perguntas como essa, farei uma solicitação de mesclagem para ela.