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

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

Re: [shell-script] extrair parte de um texto


From: Vinicius Xavier
Subject: Re: [shell-script] extrair parte de um texto
Date: Fri, 20 Aug 2010 13:15:55 -0700 (PDT)

Alex,

o que acha dessa solução abaixo? Atende?

 cat -n log.txt
     1  [20/08/10 00:00:09,405]
     2  [20/08/10 00:00:10,192] INFO: @() Database selected
     3  java.sql.SQLWarning: Database selected
     4  at com.db2.util.IfxWarnMsg.getSQLWarning(IfxWarnMsg.java:125)
     5  at com.db2.util.IfxWarnMsg.getSQLWarning(IfxWarnMsg.java:149)
     6  at com.db2.jdbc.IfxSqliConnect.a(IfxSqliConnect.java:1923)
     7  at com.db2.jdbc.IfxSqliConnect.t(IfxSqliConnect.java:4150)
     8  at com.db2.jdbc.IfxSqliConnect.b(IfxSqliConnect.java:2746)
     9  at com.db2.jdbc.IfxSqliConnect.a(IfxSqliConnect.java:2620)
    10  at com.db2.jdbc.IfxSqli.a(IfxSqli.java:2615)
    11  at com.db2.jdbc.IfxSqli.executeOpenDatabase(IfxSqli.java:1800)
    12  at com.db2.jdbc.IfxSqliConnect.<init>(IfxSqliConnect.java:1327)
    13  at sun.reflect.GeneratedConstructorAccessor39.newInstance(Unknown 
Source)
    14  at 
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    15  at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    16  [20/08/10 00:00:10,889] INFO: @() </log>
    17  [20/08/10 00:00:10,890] INFO: @() <log 
realm="SEVERE.channel/192.38.1.230:2233" at="Fri Aug 20 00:10:890 BRT 2010.890">
    18  [20/08/10 00:00:10,890] INFO: @() <disconnect>
    19  [20/08/10 00:00:10,890] INFO: @() null:0
   cat -n log.txt  |sed -n '2,12p'
     2  [20/08/10 00:00:10,192] INFO: @() Database selected
     3  java.sql.SQLWarning: Database selected
     4  at com.db2.util.IfxWarnMsg.getSQLWarning(IfxWarnMsg.java:125)
     5  at com.db2.util.IfxWarnMsg.getSQLWarning(IfxWarnMsg.java:149)
     6  at com.db2.jdbc.IfxSqliConnect.a(IfxSqliConnect.java:1923)
     7  at com.db2.jdbc.IfxSqliConnect.t(IfxSqliConnect.java:4150)
     8  at com.db2.jdbc.IfxSqliConnect.b(IfxSqliConnect.java:2746)
     9  at com.db2.jdbc.IfxSqliConnect.a(IfxSqliConnect.java:2620)
    10  at com.db2.jdbc.IfxSqli.a(IfxSqli.java:2615)
    11  at com.db2.jdbc.IfxSqli.executeOpenDatabase(IfxSqli.java:1800)
    12  at com.db2.jdbc.IfxSqliConnect.<init>(IfxSqliConnect.java:1327)

# imprime uma parte do arquivo baseada nos números das linhas (linhas 8-12,
# inclusive)
sed -n '8,12p'               # método 1

Fonte que vi esse comando sed: http://sed.sourceforge.net/sed1line_pt-BR.html


Abs,
Vinícius Xavier
 

--- Em sex, 20/8/10, Alex <address@hidden> escreveu:

De: Alex <address@hidden>
Assunto: [shell-script] extrair parte de um texto
Para: "Shell-script" <address@hidden>
Data: Sexta-feira, 20 de Agosto de 2010, 16:23







 



  


    
      
      
      

Pessoal, boa tarde.



Preciso pegar uma sequencia de um texto e jogá-lo para outro arquivo.



Tenho esta estrutura de arquivo de log:



[20/08/10 00:00:09,405] 

[20/08/10 00:00:10,192] INFO: @() Database selected

java.sql.SQLWarning: Database selected

        at com.db2.util.IfxWarnMsg.getSQLWarning(IfxWarnMsg.java:125)

        at com.db2.util.IfxWarnMsg.getSQLWarning(IfxWarnMsg.java:149)

        at com.db2.jdbc.IfxSqliConnect.a(IfxSqliConnect.java:1923)

        at com.db2.jdbc.IfxSqliConnect.t(IfxSqliConnect.java:4150)

        at com.db2.jdbc.IfxSqliConnect.b(IfxSqliConnect.java:2746)

        at com.db2.jdbc.IfxSqliConnect.a(IfxSqliConnect.java:2620)

        at com.db2.jdbc.IfxSqli.a(IfxSqli.java:2615)

        at com.db2.jdbc.IfxSqli.executeOpenDatabase(IfxSqli.java:1800)

        at com.db2.jdbc.IfxSqliConnect.<init>(IfxSqliConnect.java:1327)

        at sun.reflect.GeneratedConstructorAccessor39.newInstance(Unknown 
Source)

        at 
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)

        at java.lang.reflect.Constructor.newInstance(Constructor.java:513)

[20/08/10 00:00:10,889] INFO: @() </log>

[20/08/10 00:00:10,890] INFO: @() <log realm="SEVERE.channel/192.38.1.230:2233" 
at="Fri Aug 20 00:10:890 BRT 2010.890">

[20/08/10 00:00:10,890] INFO: @()   <disconnect>

[20/08/10 00:00:10,890] INFO: @()     null:0



Preciso pegar a entrada que se origina das 20/08/10 00:00:09,405 até as 
20/08/10 00:00:10,890, como posso faze-lo.



Tentei usar o sed:



sed -n '/^00:00:08/,/^00:00:10/p' arquivo.log > log.txt



mas não funcionou



tentei tambem o grep 



grep -E "00:00:08|00:00:10"  arquivo.log > log.txt



mas a entrada que não possui o horário ele não pega, então também não consegui 
fazer funcionar



se puderem me ajudar, agradeço.



obrigado,



Alex





    
     

    
    


 



  






      

[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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