sed
não funciona nesse caso porque o segundo *INCLUDE
gira do intervalo de padrões e nunca é ligado novamente. Acho que isso seria mais fácil com awk
, por exemplo, você poderia usar um sinalizador de impressão como este:
awk '/^\*/ { f=0 } /^\*INCLUDE/ { f=1; next } f' file
Saída:
file_A.key
file_B.key
file_1.key
file_2.key
file_3.key
Explicação
- Quando
f==1
a instrução final (ou seja, a únicaf
) chama a regra padrão{print $0}
. -
f
está definido como0
sempre que uma linha começa com um asterisco. -
f
está definido como1
sempre que uma linha começa com*INCLUDE
. Essas linhas também são ignoradas conforme o requisito.