[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Re: Remover quebra de linha
From: |
César Vianna |
Subject: |
Re: [shell-script] Re: Remover quebra de linha |
Date: |
Mon, 15 Jun 2009 16:00:34 -0300 |
Opa! Valeu, Cristiano. Funcionou perfeitamente.
Só não entendi a expressão que remove as quebras. O que é a expressão
:a;$!N; ? e o ta ?
sed ':a;$!N;s/\n/ /g;ta; s/ID§/\nID§/g'
2009/6/15 Cristiano Ferrari <address@hidden>
>
>
> --- Em address@hidden <shell-script%40yahoogrupos.com.br>,
> César Vianna <cesar.vianna@...> escreveu
>
> >
> > Pessoal, tenho um arquivo com umas 30mil linhas com o seguinte padrão
> >
> > ID§CONTEÚDO ALEATÓRIO
> > CONTEÚDO ALEATÓRIO
> > CONTEÚDO ALEATÓRIO§FROMCONTEÚDO ALEATÓRIO
> > CONTEÚDO ALEATÓRIO
> > ID§CONTEÚDO ALEATÓRIO
> > CONTEÚDO ALEATÓRIO
> > CONTEÚDO ALEATÓRIO§FROMCONTEÚDO ALEATÓRIO
> >
> > Preciso remover as quebras de linhas entre os valores ID§ - O valor ID§
> vem
> > sempre no inicio da linha e marca o inicio de um bloco de informações.
> >
> > Tentei com o sed abaixo:
> >
> > sed 's/[^ID§]\(.*\)$/\1/g' from-to-status.log #Pesquisar tudo que não
> > começa com ID§. Desse resultado, remover a quebra de linha. Mas, o
> resultado
> > foi igual ao arquivo original.
> >
>
> César, veja se é isso que você quer (colei no pastebin para facilitar a
> leitura do resultado):
>
> http://pastebin.com/fd78d60e
>
> Se for isso, a explicação da solução é a seguinte:
>
> O comando ':a;$!N;s/\n/ /g;ta' remove todas as quebras de linha do arquivo.
> Em seguida, o comando 's/ID§/\nID§/g' substitui a string ID§ pela mesma
> string ID§, precedida de uma quebra de linha (\n).
>
> É isto que você queria fazer??
>
>
>
--
César Vianna
-------------------
Prefira o que é positivo e múltiplo; a diferença à uniformidade; o fluxo às
unidades; os agenciamentos móveis aos sistemas.
Gilles Deleuze & Felix Guattari
[As partes desta mensagem que não continham texto foram removidas]