[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Criar lista apartir de um arquivo
From: |
Robson Alexandre |
Subject: |
Re: [shell-script] Criar lista apartir de um arquivo |
Date: |
Mon, 6 May 2013 16:51:52 -0300 |
Ou utilizando o sed dá pra pesquisar assim
Conteúdo Arquivo
OK: PostgreSQL is Down Trigger: PostgreSQL is Down
Item values:
1. POSTGRES Status
2. *UNKNOWN* (*UNKNOWN*:*UNKNOWN*): *UNKNOWN*
3. *UNKNOWN* (*UNKNOWN*:*UNKNOWN*): *UNKNOWN*
-----------
PROBLEM: HTTP service is down on Debian_Local Trigger: HTTP service
Item values:
1. HTTP service is running
2. *UNKNOWN* (*UNKNOWN*:*UNKNOWN*): *UNKNOWN*
3. *UNKNOWN* (*UNKNOWN*:*UNKNOWN*): *UNKNOWN*
-----------
$ sed -n ':a;/-----------/ ! {N;ba;};/*HTTP*/p' arquivo
retornando apenas os blocos que contém o serviço HTTP
Vc pode trocar o "HTTP" pelo termo de sua pesquisa no bloco
Atenciosamente
Robson Alexandre
2013/5/6 jimmy <address@hidden>
> **
>
>
> Saudações Thiago,
>
>
> On Mon, May 06, 2013 at 03:17:06PM -0000, thiago wrote:
> > Bom dia pessoal,
> >
> > Estou tentando criar uma lista, apartir da leitura de um arquivo.
> >
> > Tenho arquivo no seguinte formato:
> > OK: PostgreSQL is Down Trigger: PostgreSQL is Down
> > Item values:
> >
> > 1. POSTGRES Status
> > 2. *UNKNOWN* (*UNKNOWN*:*UNKNOWN*): *UNKNOWN*
> > 3. *UNKNOWN* (*UNKNOWN*:*UNKNOWN*): *UNKNOWN*
> > -----------
> > PROBLEM: HTTP service is down on Debian_Local Trigger: HTTP service
> > Item values:
> >
> > 1. HTTP service is running
> > 2. *UNKNOWN* (*UNKNOWN*:*UNKNOWN*): *UNKNOWN*
> > 3. *UNKNOWN* (*UNKNOWN*:*UNKNOWN*): *UNKNOWN*
> >
> > Preciso gerar uma lista separando cada laço pelo sinal de menor
> (-----------)
> > Um exemplo que eu fizer assim: for i in LISTA; do echo $i; done ele deve
> me
> > mostrar
> > PROBLEM: HTTP service is down on Debian_Local Trigger: HTTP service
> > Item values:
> >
> > 1. HTTP service is running
> > 2. *UNKNOWN* (*UNKNOWN*:*UNKNOWN*): *UNKNOWN*
> > 3. *UNKNOWN* (*UNKNOWN*:*UNKNOWN*): *UNKNOWN*
> >
> > Muito obrigado e um grande abraço
> > Atenciosamente,
> > Thiago M. Figueiredo
>
> Se entendi, o intuito é trabalhar com o bloco ou "parágrafo" inteiro que
> no seu caso é separado por hífens. Vou tentar aproveitar a abordagem que
> você iniciou para propor uma solução:
>
> while read l;do # lê uma linha por vez
> i="$i\n$l"; # concatena as linhas
> if [ "x$l" = 'x-----------' ]; then # "chegamos no separador?"
> echo -e "$i" # imprime o parágrafo
> i=''
> break
> fi
> done < arquivo.txt
>
> --
> "Não manejo bem as palavras
> Mas manipulo bem as strings."
> ------------------------------
>
>
>
[As partes desta mensagem que não continham texto foram removidas]