shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Criar lista apartir de um arquivo


From: jimmy
Subject: Re: [shell-script] Criar lista apartir de um arquivo
Date: Mon, 6 May 2013 15:13:17 -0300
User-agent: mutt-ng/devel-r804 (Linux)

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."
------------------------------


reply via email to

[Prev in Thread] Current Thread [Next in Thread]