[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Buffer?
From: |
Flavio Junior |
Subject: |
Re: [shell-script] Buffer? |
Date: |
Fri, 11 Apr 2008 09:47:20 -0300 |
Bom dia..
Então Fabiano, eu tambem não entendi muito a ideia da linha (até
entendi os comandos, mas o "algoritmo" que nao entendi)...
E veja, ele acaba replicando todas as linhas do intervalo:
lazlo:~# cat x
> <INCLUIR>
> ..CLASSE:MS
> -MANDADO
> -8901223244
> ..ID_DOCUMENTO:22
> <INCLUIR>
> ..CLASSE:MS
> -MANDADO
> -8901223245
> ..ID_DOCUMENTO:23
> <INCLUIR>
> ..CLASSE:MS
> -MANDADO
> -8901223246
> ..ID_DOCUMENTO:24
lazlo:~# sed 'x;n;N;N;x;N;G' x
> <INCLUIR>
> ..ID_DOCUMENTO:22
> ..CLASSE:MS
> -MANDADO
> -8901223244
> ..CLASSE:MS
> -MANDADO
> -8901223244
> <INCLUIR>
> ..ID_DOCUMENTO:23
> ..CLASSE:MS
> -MANDADO
> -8901223245
> ..CLASSE:MS
> -MANDADO
> -8901223245
> <INCLUIR>
> ..ID_DOCUMENTO:24
> ..CLASSE:MS
> -MANDADO
> -8901223246
lazlo:~#
Quanto a performance, entre o sed e o ed o sed sempre vai levar
vantagem, devido a ser um editor de fluxo contra um editor de
arquivos.
Aproveita e explica pra gente esse sed ai ;)
--
Flávio do Carmo Junior
2008/4/11 Eduardo <address@hidden>:
>
>
>
>
>
>
> Fabiano,
>
> eu não entendi a sua solução.
> E ela também não funcionou. :)
>
> 2008/4/10 Fabiano Caixeta Duarte <address@hidden>:
>
>
>
> > Eduardo escreveu:
> >
> > > node1:~# cat x.txt
> > >
> > > <INCLUIR>
> > > ..CLASSE:MS
> > > -MANDADO
> > > -8901223244
> > > ..ID_DOCUMENTO:22
> > > <INCLUIR>
> > > ..CLASSE:MS
> > > -MANDADO
> > > -8901223245
> > > ..ID_DOCUMENTO:23
> > > <INCLUIR>
> > > ..CLASSE:MS
> > > -MANDADO
> > > -8901223246
> > > ..ID_DOCUMENTO:24
> > > <INCLUIR>
> > > ..CLASSE:MS
> > > -MANDADO
> > > -8901223247
> > > ..ID_DOCUMENTO:25
> > > <INCLUIR>
> > > ..CLASSE:MS
> > > -MANDADO
> > > -8901223248
> > > ..ID_DOCUMENTO:26
> > > <INCLUIR>
> > > ..CLASSE:MS
> > > -MANDADO
> > > -8901223249
> > > ..ID_DOCUMENTO:27
> > >
> > > e deveria ficar assim:
> > >
> > > node1:~# cat y.txt
> > >
> > > <INCLUIR>
> > > ..ID_DOCUMENTO:22
> > > ..CLASSE:MS
> > > -MANDADO
> > > -8901223244
> > > <INCLUIR>
> > > ..ID_DOCUMENTO:23
> > > ..CLASSE:MS
> > > -MANDADO
> > > -8901223245
> > > <INCLUIR>
> > > ..ID_DOCUMENTO:24
> > > ..CLASSE:MS
> > > -MANDADO
> > > -8901223246
> > > <INCLUIR>
> > > ..ID_DOCUMENTO:25
> > > ..CLASSE:MS
> > > -MANDADO
> > > -8901223247
> > > <INCLUIR>
> > > ..ID_DOCUMENTO:26
> > > ..CLASSE:MS
> > > -MANDADO
> > > -8901223248
> > > <INCLUIR>
> > > ..ID_DOCUMENTO:27
> > > ..CLASSE:MS
> > > -MANDADO
> > > -8901223249
> >
> > Estou acompanhando esta thread e vi a solução do Flávio. Muito legal.
> > Nunca fiz nada em ed. Entretanto, fiz uma solução com sed que também
> > serviu de aprendizado.
> >
> > sed 'x;n;N;N;x;N;G' x.txt
> >
> > Basicamente tem a ver com manipulação do que o sed chama de pattern
> > space e hold space.
> >
> > Quanto à performance, segue um teste com arquivos de 1.7Mb (143998
> linhas)
> >
> > $ time ed x.txt <<<$'g/^\.\.ID_DOC/m.-4\nw\nq'
> > 1098000
> > 1098000
> >
> > real 0m4.627s
> > user 0m4.560s
> > sys 0m0.036s
> >
> > $ time sed -i 'x;n;N;N;x;N;G' x.txt
> >
> > real 0m0.282s
> > user 0m0.228s
> > sys 0m0.052s
> >
> > --
> > Fabiano Caixeta Duarte
> > Especialista em Redes de Computadores
> > Linux User #195299
> > Ribeirão Preto - SP
> >
> >
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
- Re: [shell-script] Buffer?, (continued)
- Re: [shell-script] Buffer?, Eduardo, 2008/04/10
- Re: [shell-script] Buffer?, Flavio Junior, 2008/04/10
- Re: [shell-script] Buffer?, Ricardo Brito do Nascimento, 2008/04/10
- Re: [shell-script] Buffer?, Eduardo, 2008/04/10
- Re: [shell-script] Buffer?, Flavio Junior, 2008/04/10
- Re: [shell-script] Buffer?, Eduardo, 2008/04/10
- Re: [shell-script] Buffer?, Fabiano Caixeta Duarte, 2008/04/10
- Re: [shell-script] Buffer?, Ricardo Brito do Nascimento, 2008/04/11
- Re: [shell-script] Buffer?, Fabiano Caixeta Duarte, 2008/04/11
- Re: [shell-script] Buffer?, Eduardo, 2008/04/11
- Re: [shell-script] Buffer?,
Flavio Junior <=
- Re: [shell-script] Buffer?, Fabiano Caixeta Duarte, 2008/04/11
- Re: [shell-script] Buffer?, Fabiano Caixeta Duarte, 2008/04/11
- Re: [shell-script] Buffer?, Eduardo, 2008/04/11