Flavio Junior escreveu: > 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
É verdade. Tem um vacilo meu aí na jogada. O teste feito em um bloco, funciona. O teste feito em todo o arquivo funciona parcialmente com a seguinte alteração (retirada do comando G): sed 'x;n;N;N;x;N' x O parcialmente, significa que não vai funcionar pro último bloco, que fica sem o "predicado"(as três últimas linhas). E o pior que meus conhecimentos de sed não me permitiram agora achar uma solução completa. Fico devendo. -- Fabiano Caixeta Duarte Especialista em Redes de Computadores Linux User #195299 Ribeirão Preto - SP
