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

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

Re: [shell-script] Grep para pegar as linhas de cima


From: Bruno Coimbra
Subject: Re: [shell-script] Grep para pegar as linhas de cima
Date: Fri, 12 Sep 2008 09:18:12 -0300
User-agent: KMail/1.9.9

Essa, provavelmente, não é a melhor forma de fazer isso, mas funciona:

$ grep -B 9 '<status>' <nome_do_arquivo_de_log> |tr -d '\t '|paste -s 
-d'\t'|sed 's/\t--\t/\n/g' | \
  cut -f 1,2,7,10 | sed 's/<[^>]\+>//g'

Set     MHLRSUB 20080903235942.784165   SUCCESSFUL
Login   CAI     20080903235943.392448   SUCCESSFUL
        CAI     20080903235943.463563   FAILED

[]s,
-- 
Bruno Coimbra
address@hidden

Slackware: Simplicity is Divine!

On Thursday 11 September 2008 22:46:12 leo_caranguejeira wrote:
> Olá Pessoal,
>
> Estou me matando na solução de uma pesquisa com grep já faz um tempo.
> Gostaria de uma ajudinha, e desde já agradeço aos grandes
> conhecedores de sheell desta lista.
>
>
> Tenho um arquivo com o formato abaixo, de 1 G, o que eu preciso é
> grepar a linha "<status>" com o o resultado Resp:0 e pegar também as
> linhas "<operation>, <target> e <starttime> acima do status, o grep
> destas linhas forma um único comando.
> Resumindo, o grep do "<status>" mais as linhas acima forma um único
> comando, quero contar a quantidade de comandos com "<status>"  Resp:0
> que estão aparecendo para cada comando.
>
> Bem, agradeço se alguém pode me ajudar.
>
> <log logid="82a9678d190809032359420284">
> <category>Upstream.CAI</category>
> <operation>Set</operation>
> <target>MHLRSUB</target>
> <instance>hlrSub.msisdn=551112345678</instance>
> <user>opsc_2</user>
> <context>sog.Oper_Create</context>
> <fullOperation>SET:HLRSUB:MSISDN,551112345678:CAMEL,SET,OCTDP,2,SK,2,C
> CH,2:CAMEL,SET,TCTDP,12,SK,4,CCH,2;</fullOperation>
> <starttime>20080903235942.784165</starttime>
> <stoptime>20080903235943.379073</stoptime>
> <fullResult>RESP:0;</fullResult>
> <status>SUCCESSFUL</status>
> </log>
> <log logid="82a9678d190809032359430288">
> <category>Upstream.CAI</category>
> <operation>Login</operation>
> <target>CAI</target>
> <instance></instance>
> <user>opsc_2</user>
> <context>sog.Oper_Create</context>
> <fullOperation>LOGIN:opsc_2:**********;</fullOperation>
> <starttime>20080903235943.392448</starttime>
> <stoptime>20080903235943.392662</stoptime>
> <fullResult>RESP:5000;</fullResult>
> <status>SUCCESSFUL</status>
> </log>
> <log logid="82a9678d190809032359430289">
> <category>Upstream.CAI</category>
> <operation></operation>
> <target>CAI</target>
> <instance></instance>
> <user>opsc_2</user>
> <context>sog.Oper_Create</context>
> <fullOperation>;</fullOperation>
> <starttime>20080903235943.463563</starttime>
> <stoptime>20080903235943.463855</stoptime>
> <fullResult>RESP:3001;Syntax Error;</fullResult>
> <status>FAILED</status>
> </log>


reply via email to

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