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

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

Re: [shell-script] SED


From: Flavio Junior
Subject: Re: [shell-script] SED
Date: Tue, 30 May 2006 16:55:21 -0300

No caso eu acho que seria de "[a-z]" pra "[a-zA-Z_]"
e ta juntando os dois primeiros campos por que entre o "\1" e o "\2"
no final da expressão voce tem que por um espaço que quebrou no
e-mail...

no caso: "\1" = caselli
              "\2" = 07000000000000
              "\3" = 0001000042bin

Ai no ultimo campo da expressão voce forma ela como quiser...

Licença ao Reinaldo por postar sobre o "script" de autoria dele...


Flavio do Carmo Junior aka blk1d

On 5/30/06, Reinaldo Marques de Lima <address@hidden> wrote:

No começo da expressão, temta trocar "[a-z]" por "[a-zA-Z]"

+------------------------------------------------------------------------------------------------------------------+
Reinaldo
Linux User : 406967
Emails:
echo 'reimlima''.com' | sed
's/\(reimlima\)\(.com\)/\n\1@hotmail\2\n\1@yahoo\2.br\n\1@gmail\2\n/'
+------------------------------------------------------------------------------------------------------------------+




>From: Mauricy Maiorino <address@hidden>
>Reply-To: address@hidden
>To: address@hidden
>Subject: Re: [shell-script] SED
>Date: Tue, 30 May 2006 15:36:18 -0300
>
>Funcionou, apesar de estar "juntando" os campos em
>"caselli07000000000000".  Tenho nomes no primeiro campo em maiúsculo e
>com "_", como no exemplo:
>
>MATE                printer4
>hppibr_[JMAA06D]-SUPRIMENTOS__CADASTRO(acct=MATE,user=MATE,copies=1,hppibr,duplex,landscape,usletter).PCL
>
>printsrv                        May 28 2006 19:06:35May 28 2006
>20:01:17hppibr_[JMAA06D]-SUPRIME        0001000002bin
>       /O1499.1                        MATE            1
>SecPos_Ensino_e_Histprinter2
>hpdocuprintr_-CCUEC-ALA--0-SecPos_Ensino_e_Hist_ria_de_Ci_ncias_da_Terra(acct=IG,user=SecPos_Ensino_e_Hist_ria_de_Ci_ncias_da_Terra,copies=1,hpdocuprintr,USL--010).PCL.PCL
>         printsrv                        May 28 2006 18:18:41May 28 2006
>19:55:53hpdocuprintr_-CCUEC-ALA-        0001000005bin
>       /O103                           IG              1
>
>
>Dá para aproveitar o comando e pegar este tipo também??
>
>Mauricy
>
>
>Reinaldo Marques de Lima wrote:
> > se tudo tiver na mesma linha, então veja:
> >
> >
>-------------------------------------------------------------------------------------------------------------------------------------------
> >
> > prompt> cat log_impressao.txt
> > caselli             printer4
> >
>hpdocuprintr_ibi-I-DE-BIOLOGIA-070000-caselli(acct=ibi,user=caselli,copies=1,hpdocuprintr,UsLetter,duplex,Portrait,07000000000000)--01A).PCL.PCL
> >                                    printsrv                        May
>28
> > 2006 19:05:40May 28 2006 20:09:00hpdocuprintr_ibi-I-DE-BI
> > 0001000042bin                           /O1763
>ibi
> >             1
> > kcarula             printer3
> >
>hpdocuprintr_ifch-I-FIL-C-HUMANAS-090000-kcarula(acct=ifch,user=kcarula,copies=1,hpdocuprintr,UsLetter,simplex,Portrait,09020000000000)--000).PCL.PCL
> >                               printsrv                        May 28
>2006
> > 19:50:23May 28 2006 20:15:45hpdocuprintr_ifch-I-FIL-       0001000091bin
> >                         /O487                           ifch
>1
> > bertazzo            printer2
> >
>hpdocuprintr_ifch-I-FIL-C-HUMANAS-090000-bertazzo(acct=ifch,user=bertazzo,copies=1,hpdocuprintr,UsLetter,simplex,Portrait,09150000000000)--001).PCL.PCL
> >                             printsrv                        May 28 2006
> > 20:34:59May 28 2006 22:11:20hpdocuprintr_ifch-I-FIL-       0001000007bin
> >                         /O1673                          ifch
>1
> > kcarula             printer3
> >
>hpdocuprintr_ifch-I-FIL-C-HUMANAS-090000-kcarula(acct=ifch,user=kcarula,copies=1,hpdocuprintr,UsLetter,duplex,Portrait,09020000000000)--028).PCL.PCL
> >                                printsrv                        May 28
>2006
> > 20:36:00May 28 2006 22:24:12hpdocuprintr_ifch-I-FIL-       0001000183bin
> >                         /O1365                          ifch
> >
> > prompt> sed
>'s/\([a-z]\+\)[[:space:]].*,\([0-9]\+\)).*\(\b[0-9]\+bin\).*/\1
> > \2 \3/' log_impressao.txt
> > caselli 07000000000000 0001000042bin
> > kcarula 09020000000000 0001000091bin
> > bertazzo 09150000000000 0001000007bin
> > kcarula 09020000000000 0001000183bin
> >
> >
>-------------------------------------------------------------------------------------------------------------------------------------------
> >
> > Agora, só rola se for cada registro em uma linha mesmo....
> >
> > []'s
> >
> >
>+------------------------------------------------------------------------------------------------------------------+
> > Reinaldo
> > Linux User : 406967
> > Emails:
> > echo 'reimlima''.com' | sed
> > 's/\(reimlima\)\(.com\)/\n\1@hotmail\2\n\1@yahoo\2.br\n\1@gmail\2\n/'
> >
>+------------------------------------------------------------------------------------------------------------------+
> >
> >
> >
> >
> >
> >> From: Mauricy Maiorino <address@hidden>
> >> Reply-To: address@hidden
> >> To: address@hidden
> >> Subject: [shell-script] SED
> >> Date: Tue, 30 May 2006 12:03:31 -0300
> >>
> >> Pessoal
> >>
> >> Estou novamente voltando a pedir ajuda a lista sobre um problema que já
> >> postei aqui e que várias pessoas me ajudaram.
> >>
> >> É sobre o sed para separar alguns campos que necessito de um arquivo de
> >> log.
> >>
> >> Nestas últimas duas semanas tentei caminhar mais um pouco em cima do
> >> manual do sed do Aurélio, mas não estou conseguindo o resultado
> >> esperado. O problema é que meu prazo é curto e tenho que apresentar
>algo
> >> já no início do mês que vem. Será que alguém poderia me ajudar??
> >>
> >> No exemplo abaixo, apesar da quebra de linhas (devido a ser um e-mail),
> >> cada registro iniciando por um nome de usuário está em uma única linha
> >> (para visualizar eu uso o "cooledit").
> >>
> >> caselli             printer4
> >>
>hpdocuprintr_ibi-I-DE-BIOLOGIA-070000-caselli(acct=ibi,user=caselli,copies=1,hpdocuprintr,UsLetter,duplex,Portrait,07000000000000)--01A).PCL.PCL
> >> printsrv                        May 28 2006 19:05:40May 28 2006
> >> 20:09:00hpdocuprintr_ibi-I-DE-BI
> >> 0001000042bin
> >> /O1763                          ibi             1
> >> kcarula             printer3
> >>
>hpdocuprintr_ifch-I-FIL-C-HUMANAS-090000-kcarula(acct=ifch,user=kcarula,copies=1,hpdocuprintr,UsLetter,simplex,Portrait,09020000000000)--000).PCL.PCL
> >> printsrv                        May 28 2006 19:50:23May 28 2006
> >> 20:15:45hpdocuprintr_ifch-I-FIL-
> >> 0001000091bin
> >> /O487                           ifch            1
> >> bertazzo            printer2
> >>
>hpdocuprintr_ifch-I-FIL-C-HUMANAS-090000-bertazzo(acct=ifch,user=bertazzo,copies=1,hpdocuprintr,UsLetter,simplex,Portrait,09150000000000)--001).PCL.PCL
> >> printsrv                        May 28 2006 20:34:59May 28 2006
> >> 22:11:20hpdocuprintr_ifch-I-FIL-
> >> 0001000007bin
> >> /O1673                          ifch            1
> >> kcarula             printer3
> >>
>hpdocuprintr_ifch-I-FIL-C-HUMANAS-090000-kcarula(acct=ifch,user=kcarula,copies=1,hpdocuprintr,UsLetter,duplex,Portrait,09020000000000)--028).PCL.PCL
> >> printsrv                        May 28 2006 20:36:00May 28 2006
> >> 22:24:12hpdocuprintr_ifch-I-FIL-
> >> 0001000183bin
> >> /O1365                          ifch            1
> >>
> >>
> >> O que eu preciso é de um resultado como no exemplo abaixo:
> >>
> >> caselli  07000000000000 0001000042bin
> >> kcarula 09020000000000 0001000091bin
> >> bertazzo 09150000000000 0001000007bin
> >> kcarula 09020000000000 0001000183bin
> >>
> >>
> >> É possível fazer isto usando somente o sed?? Estou conseguindo fazer
>com
> >> "vários" awk e cut no caminho, mas está ficando inviável pois as vezes
> >> alguns campos acabam ficando "de fora".
> >>
> >> Obrigado e desculpem pela insistência no assunto.
> >>
> >> Mauricy
> >>
> >>
> >>
> >>
> >> [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










reply via email to

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