Talvez seja melhor usar uma ferramenta como o awk.
awk '/^----+$/ {flag=1;next} /Disconnected from Server/{flag=0} flag {print}'
Veja: link
Estou tentando criar um script bash que irá aplicar linhas a um arquivo usando o egrep. Eu criei o regex que deve agrupar as informações que eu quero, o problema é tentar obter a saída. Eu tenho testado com o seguinte comando, mas nada é impresso quando executado. Como faço para imprimir as várias linhas entre o - {80} e desconectado?
egrep -E "^-{80}$\r?\n?([:ascii:]*)Disconnected from Server" testing.txt
Arquivo: testing.txt
Connected to the server: name here
Some header text.
More text to go though...
--------------------------------------------------------------------------------
The information that I want, would be in here;
Including this line as well #$
and this one.
Disconnected from Server...
Talvez seja melhor usar uma ferramenta como o awk.
awk '/^----+$/ {flag=1;next} /Disconnected from Server/{flag=0} flag {print}'
Veja: link
Só porque eu finalmente trabalhei aqui está uma versão sed
sed -n '/^-----\+$/,/^Disonnected/ {/^----\+$/d;/^Disonnected/d;p;}' testing.txt
Isto opera em todas as linhas entre / RE1 / e / RE2 /, se a entrada corresponder a / RE1 / ou / RE2 / então é apagada, caso contrário é impresso.