The UNIX and Linux Forums  
Olá e boas-vindas de Estados Unidos para o UNIX e Linux Forum! Obrigado por visitar e fazer parte da nossa comunidade global.

Go Back   O UNIX e Linux Forum > Top Fóruns > Programação Shell Script e
.
google unix.com



Programação Shell Script e Post perguntas sobre ksh, CSH, SH, BASH, Perl, PHP, SED, Awk e outros scripts shell e shell scripts línguas aqui.

Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
Fio Thread Starter Fórum Respostas Última postagem
Mesclar linhas em um anypager Programação Shell Script e 7 05-22-2008 03:20
Obtido múltiplas linhas em vários locais em um arquivo dala Programação Shell Script e 8 03-14-2008 03:28
fundir 2 ficheiros (sem repetir qualquer linhas) bluemoon1 Programação Shell Script e 9 10-25-2007 10:31
mesclar várias linhas de arquivo plano hnhegde Programação Shell Script e 4 12-05-2006 07:13
Mesclagem acondicionada linhas braindrain Programação Shell Script e 1 07-25-2005 07:03

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback Thread Tools Pesquisar este Thread Rate Thread Display Modes
  #1 (permalink)  
Old 08-07-2006
xb88 xb88 is offline
Usuário
  
 

Join Date: Aug 2006
Posts: 7
Utilize sed de fundir várias linhas

Oi tudo:

Eu tenho um arquivo no qual os conteúdos são os seguintes:

...
Este é um teste
ONE
DOIS
Olá, mundo!
XXX YYY CCC
teste novamente
três, quatro
cinco
seis
sete
Mundo
AAA BBB QQQ
teste
oito, nove
Mundo
FFF EEE FAQ
...

Quero usar sed para mesclar todas as linhas entre uma linha que contém a palavra "teste" e uma linha que contém a palavra "mundo" em uma linha, e ignorar outras linhas. Em outras palavras, quero que um resultado como seguinte:

Este é um teste Uma Duas Olá, mundo!
teste novamente três, quatro cinco seis sete mundo
teste oito, nove mundo


Qualquer ajuda é apreciada. Agradecemos antecipadamente a sua ajuda!

Atenciosamente,
Susan
  #2 (permalink)  
Old 08-07-2006
System Shock's Avatar
System Shock System Shock is offline Forum Advisor  
Usuário
  
 

Join Date: May 2006
Localização: Tau Ceti V
Posts: 521
Bem, chega de forma delicada por causa do número arbitrário de linhas entre o "teste" e "mundo", acrescido do número arbitrário de niobe entre "mundo" e "teste" ...
., .. alguém mais esperto do que eu, provavelmente, dar-lhe uma melhor resposta, mas isso funciona
Código:
 sed 's/$/ @/' file.txt | sed -n '/test/,/world/p' | sed '/world/G' | sed -e :a -e '/@$/N; s/\@\n//; ta'

Última edição por System Shock; em 08/07/2006 11:57..
  #3 (permalink)  
Old 08-08-2006
vish_indian vish_indian is offline
Usuário
  
 

Join Date: Jun 2006
Local: Nova Deli, Índia
Lugares: 92
Citação:
Originally Posted by xb88
Em outras palavras, quero que um resultado como seguinte:
Este é um teste Uma Duas Olá, mundo!
teste novamente três, quatro cinco seis sete mundo
teste oito, nove mundo
Awk pode fazê-lo.

Código:
awk '/test/,/world/{ if($0~/world/) ORS="\n"; else ORS=" "; print}' filename
Exemplo de saída:
Este é um teste Uma Duas Olá, mundo!
teste novamente três, quatro cinco seis sete mundo
teste oito, nove mundo
  #4 (permalink)  
Old 08-08-2006
xb88 xb88 is offline
Usuário
  
 

Join Date: Aug 2006
Posts: 7
Graças ao sistema de choque e tanto vish índio! Aparentemente não há nenhuma maneira fácil para sed para fazê-lo. Tenho de usar awk, perl, Ou qualquer outra coisa ...
Closed Thread

Marcadores

Thread Tools Pesquisar este Thread
Pesquisar este Thread:

Pesquisa Avançada
Display Modes Esta taxa Thread
Esta taxa Thread:

Destacamento Regimento
Você não pode postar novas threads
Você não pode postar respostas
Você não pode postar anexos
Você não pode editar suas postagens

BB code é Ligado
Smilies são Ligado
[IMG] código é Ligado
Código HTML é Desligado
Trackbacks são Ligado
Pingbacks são Ligado
Refbacks são Ligado




Todos os horários são GMT -4. A hora é agora 01:16.


Powered by: vBulletinCopyright © 2000 - 2006, Jelsoft Enterprises Limited. Língua Traduções Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
O UNIX e Linux Fóruns Content Copyright © 1993-2009. Todos os Direitos Reserved.Ad Gestão por RedTyger

Content Relevant URLs por vBSEO 3.2.0