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

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

Re: [shell-script] Re: Ocorrência em linha


From: Tiago Barcellos Peczenyj
Subject: Re: [shell-script] Re: Ocorrência em linha
Date: Sun, 7 May 2006 11:22:22 -0300

eu sei que da pra fazer com um sed só... mas eu desisto...

$ egrep -o '([0-9]+bin|(user|acct)=[a-z]*|[0-9]+\))' linha | paste
-sd' '  | sed 's/[a-z]*=\|)//g;s/\(^[a-z]*\)\(.*\)/\2 \1/g'
samir 09000000000000 0050000004bin ifch

ifch samir vão casar com '(user|acct)=[a-z]*'
09000000000000 vai casar com '[0-9]+\)'
0050000004bin vai casar com '[0-9]+bin'

o egrep me joga4 linhas, eu as uno com o paste e uso o sed para apagar
a parte user= ou acct= e depois uso os retrovisores para trocar de
lugar o ifch

é legal isso!

On 5/7/06, Mauricy <address@hidden> wrote:
Mauricy Maiorino wrote:

> Fernando funcionou mesmo, agora, por um engano meu, preciso também de
> uma parte de um campo que é a seguinte, seguindo o exemplo abaixo:
>
>samir               printer1
>hpdocuprintr_ifch-I-FIL-C-HUMANAS-090000-samir(acct=ifch,user=samir,copies=50,hpdocuprintr,UsLetter,duplex,Portrait,09000000000000)--00E).PCL.PCL
>printsrv                        May 2 2006 19:00:19 May 2 2006 20:13:06
>hpdocuprintr_ifch-I-FIL-       0050000004bin /O3243.36                       
ifch            50
>
>
> somente o "09000000000000"
>
> Alterei o sed que deu certo para " cat teste | sed -n
> 's/^.*\([0-9]\{10,14\}\+)\).*/\1/p' " e funcionou, mas, tem como
> colocar os "dois" sed's em um só para que eu tenha uma saída do tipo:
>
> samir   09000000000000    0050000004bin    ifch
>
Detalhe: as linhas do exemplo no arquivo de log é apenas uma
(equivalente a 1 registro)

> Obrigado
>
> Mauricy
>
>
> Fernando Zank escreveu:
>
>>peguei a do humberto e so modifiquei o tamanho ali dos números que aceitam
>>$cat teste
>>BIBL                printer2
>>hppibr_[JBM05D]-BIBLIOTECA(acct=BIBL,user=BIBL,copies=2,hppibr,simplex,
>>landscape,usletter).PCL
>>printsrv
>>                 Apr 1 2006 02:48:53 Apr 1 2006 03:04:05
>>hppibr_[JBM05D]-BIBLIOTE        0002000010bin
>>        /O455.19                        BIBL            2
>>
>>
>>
>>
>> ae a solução do humberto adicionando os delimitadores e funciono :D
>>$cat teste  | sed -n 's/^.*\([0-9]\{10,14\}\+bin\).*/\1/p'
>>0002000010bin
>>
>>
>>
>>
>>
>>On 5/3/06, Reinaldo Marques de Lima <address@hidden> wrote:
>>
>>
>>>Testei a solução do Humberto e não rolou aqui:
>>>
>>>sed -n 's/^.*\([0-9]\+bin\).*/\1/p' arquivo.txt
>>>0bin
>>>
>>>Ai fiz essa aqui:
>>>
>>>sed '/.* [0-9]\+bin$/!d;s/.* \([0-9]\+bin\)$/\1/' arquivo.txt
>>>0002000010bin
>>>
>>>espero que ajude
>>>
>>>--- Em address@hidden, Humberto Pereira
>>><humberto.pereira@p...> escreveu
>>>
>>>
>>>
>>>>Olah,
>>>>      sempre termina com bin? e o q tem na frente eh tudo numero?
>>>>voce pode fazer
>>>>
>>>>      sed -n 's/^.*\([0-9]\+bin\).*/\1/p' arquivo
>>>>
>>>>
>>>>[]s
>>>>Humberto Pereira
>>>>
>>>>Mauricy Maiorino wrote:
>>>>
>>>>
>>>>>Pessoal
>>>>>
>>>>>Existe uma forma, não sei se com o sed,  de fazer o seguinte:
>>>>>
>>>>>Tenho a seguinte linha em um arquivo:
>>>>>
>>>>>BIBL                printer2
>>>>>
>>>>>
>>>>>
>>>hppibr_[JBM05D]-BIBLIOTECA(acct=BIBL,user=BIBL,copies=2,hppibr,simplex,
>>>
>>>
>>>>>landscape,usletter).PCL
>>>>>
>>>>>
>>>>>printsrv
>>>>>                 Apr 1 2006 02:48:53 Apr 1 2006 03:04:05
>>>>>hppibr_[JBM05D]-BIBLIOTE        0002000010bin
>>>>>        /O455.19                        BIBL            2
>>>>>
>>>>>preciso separar somente o "0002000010bin" sempre e salvá-lo em outro
>>>>>arquivo. O problema é que este arquivo tem mais de 5000 linhas com
>>>>>
>>>>>
>>>este
>>>
>>>
>>>>>tipo de registro e a posição deste string "0002000010bin" pode
>>>>>
>>>>>
>>>variar.
>>>
>>>
>>>>>Pensei em algo com o sed para que quando ele achar o "bin" do string
>>>>>contar 13 ou 14 posições para "trás" e me separar o que preciso.
>>>>>
>>>>>É possível??
>>>>>
>>>>>Obrigado
>>>>>
>>>>>Mauricy
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>---------------------------------------------------------------------
>>>>>Esta lista não admite a abordagem de outras liguagens de
>>>>>
>>>>>
>>>programação, como perl, C etc. Quem insistir em não seguir esta regra
>>>será moderado sem prévio aviso.
>>>
>>>
>>>>>---------------------------------------------------------------------
>>>>>Sair da lista: address@hidden
>>>>>---------------------------------------------------------------------
>>>>>Esta lista é moderada de acordo com o previsto em
>>>>>
>>>>>
>>>http://www.listas-discussao.cjb.net
>>>
>>>
>>>>>---------------------------------------------------------------------
>>>>>Servidor Newsgroup da lista: news.gmane.org
>>>>>Grupo: gmane.org.user-groups.programming.shell.brazil
>>>>>
>>>>>
>>>>>Links do Yahoo! Grupos
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>>Esta lista não admite a abordagem de outras liguagens de programação, como
>>>perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio
>>>aviso.
>>>---------------------------------------------------------------------
>>>Sair da lista: address@hidden
>>>---------------------------------------------------------------------
>>>Esta lista é moderada de acordo com o previsto em
>>>http://www.listas-discussao.cjb.net
>>>---------------------------------------------------------------------
>>>Servidor Newsgroup da lista: news.gmane.org
>>>Grupo: gmane.org.user-groups.programming.shell.brazil
>>>
>>>
>>>
>>>
>>> *Yahoo! Grupos, um serviço oferecido por:*  PUBLICIDADE
>>><http://br.ard.yahoo.com/SIG=12fkpgud3/M=399886.8024024.9299154.2369893/D=brclubs/S=2137111254:HM/Y=BR/EXP=1146683125/A=3594535/R=2/id=noscript/SIG=154ukt5c8/*http://lt.dell.com/lt/lt.aspx?CID=12257&LID=332199&DGC=BA&DGSeg=DHS&DURL=http://www1.la.dell.com/content/products/category.aspx/desktops?c%3dbr%26l%3dpt%26s%3ddhs>
>>>------------------------------
>>>*Links do Yahoo! Grupos*
>>>
>>>   - Para visitar o site do seu grupo na web, acesse:
>>>   http://br.groups.yahoo.com/group/shell-script/
>>>
>>>   - Para sair deste grupo, envie um e-mail para:
>>>   address@hidden<address@hidden?subject=Unsubscribe>
>>>
>>>   - O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
>>>   Serviço do Yahoo! <http://br.yahoo.com/info/utos.html>.
>>>
>>>
>>>
>>>
>>
>>
>>--
>>"Somos o que repetidamente fazemos, portanto a
>>excelência não é um feito é um hábito" - Aristóteles
>>
>>
>>[As partes desta mensagem que não continham texto foram removidas]
>>
>>
>>
>>---------------------------------------------------------------------
>>Esta lista não admite a abordagem de outras liguagens de programação, como 
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio aviso.
>>---------------------------------------------------------------------
>>Sair da lista: address@hidden
>>---------------------------------------------------------------------
>>Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
>>---------------------------------------------------------------------
>>Servidor Newsgroup da lista: news.gmane.org
>>Grupo: gmane.org.user-groups.programming.shell.brazil
>>
>>
>>Links do Yahoo! Grupos
>>
>>
>>
>>
>>
>>
>>
>>
>>



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



---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como 
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
aviso.
---------------------------------------------------------------------
Sair da lista: address@hidden
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil


Links do Yahoo! Grupos











--
Tiago B Peczenyj
Linux User #405772

# cd /pub
# more beer


reply via email to

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