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

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

RE: [shell-script] Quebra de linha


From: Marcio Gil
Subject: RE: [shell-script] Quebra de linha
Date: Mon, 14 Dec 2009 22:51:52 -0200

Acho que consegui:

$ cat temp.txt
123456
1-
asdfghj
2-
bnm,,.;
cvbnm,.
dfghjkl
3-
ertyuio
$ sed '/^[0-9]-$/!x;1d;$p;$x' temp.txt | sed 'N;s/-\n/-/'
1-123456
2-asdfghj
bnm,,.;
cvbnm,.
3-dfghjkl
ertyuio
$ 

Explicando:

/^[0-9]-$/!x  # Se a linha não é de numeração,
              # troca com o "hold space";
1d            # Exclui a primeira linha,
              # Pois esta fica em branco;
$p            # Imprime a última linha;
$x            # E o que restou no "hold space".

Para juntar as linhas eu descobri este site:

http://thobias.org/doc/sosed.html#toc31

Agora só falta juntar tudo num único sed :-)


> -----Original Message-----
> From: Marcio Gil
> 
> Consegui fazer isto aqui:
> 
> $ cat temp.txt
> 123456
> 1-
> asdfghj
> 2-
> bnm,,.;
> cvbnm,.
> dfghjkl
> 3-
> ertyuio
> $ sed '/^[0-9]-$/!x;1d;$p;$x' temp.txt
> 1-
> 123456
> 2-
> asdfghj
> bnm,,.;
> cvbnm,.
> 3-
> dfghjkl
> ertyuio
> $ 
> 
> Quer dizer, pude colocar a numeração antes das linhas.
> 
> Agora só falta juntar as linhas com numeração com as linhas
> seguintes...
> mas ainda não consegui. Alguem sabe como juntar estas linhas?
> 
> já tentei assim:
> 
> $ sed '/^[0-9]-$/!x;1d;$p;$x' temp.txt | sed 's/-\n//'
> 
> mas não funciona :-(
> 
> > -----Original Message-----
> > From: Eduardo
> > 
> > Senhores,
> > 
> > tenho o seguinte problema:
> > 
> > Tenho uma frase... <quebra de linha>
> > 1-
> > 
> > Toda vez que tiver uma frase e na linha seguinte aparecer um 
> > número seguido
> > de traço "-" tenho que remover a quebra de linha e deixar 
> > tudo na mesma
> > linha.
> > 
> > Já tentei de tudo pelo SED mas não consegui.
> > 
> > Antecipadamente obrigado.
> > 
> > -- 
> > ----------
> > 
> > 
> > Eduardo
> > 
> > 
> 
> 



reply via email to

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