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

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

RE: [shell-script] SED


From: Reinaldo Marques de Lima
Subject: RE: [shell-script] SED
Date: Tue, 30 May 2006 15:20:41 +0000

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]





reply via email to

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