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 > UNIX para Dummies Perguntas & Respostas
.
google unix.com



UNIX para Dummies Perguntas & Respostas Se não tiver certeza de onde se pode postar uma pergunta Unix ou Linux, postá-lo aqui. Todos os UNIX e Linux novatos bem vindos!

Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
Fio Thread Starter Fórum Respostas Última postagem
Unix Arithmatic operação problema, datatype questão thambi Programação Shell Script e 23 02-19-2008 07:19
Necessidade de substituição sed dbsurf Programação Shell Script e 0 01-25-2008 06:47
Texto substituição entre 2 ficheiros Bobo UNIX para Dummies Perguntas & Respostas 3 09-10-2007 10:13
Awk / Sed Uma camisa de texto substituição bishnu.bhatta UNIX para Dummies Perguntas & Respostas 5 03-26-2007 02:51
Substituição com sed handak9 UNIX para Dummies Perguntas & Respostas 5 07-13-2004 12:28

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 11-25-2008
sohaibs sohaibs is offline
Usuário
  
 

Join Date: Nov 2008
Posts: 4
Sed texto substituição questão.

Oi,
Im tentando localizar e substituir texto dentro de um arquivo usando unix sed.
O comando que tenho vindo a utilizar é

sed '/, null, / s / /, / g' Result.txt> result.tmp

de substituição ", null," com ",".
Mas isto só substitui a primeira ocorrência de nulos, em cada linha. Quero fazê-lo globalmente.
Ele funciona bem se eu excluir todas as vírgulas.
Por favor, ajudem.
  #2 (permalink)  
Old 11-25-2008
Franklin52 Franklin52 is offline Forum Staff  
Moderador
  
 

Join Date: Feb 2007
Mensagens: 4.308
Deve ser algo como:

Código:
sed 's/,null,/, ,/g' result.txt > result.tmp
  #3 (permalink)  
Old 11-25-2008
vino's Avatar
vino vino is offline Forum Staff  
Apoiante (in vino veritas)
  
 

Join Date: Feb 2005
Local: Bangalore, Índia
Mensagens: 2.798
Citação:
Originally Posted by sohaibs View Post
Oi,
Im tentando localizar e substituir texto dentro de um arquivo usando unix sed.
O comando que tenho vindo a utilizar é

sed '/, null, / s / /, / g' Result.txt> result.tmp

de substituição ", null," com ",".
Mas isto só substitui a primeira ocorrência de nulos, em cada linha. Quero fazê-lo globalmente.
Ele funciona bem se eu excluir todas as vírgulas.
Por favor, ajudem.
Não é esse trabalho?

Código:
sed -e "s/,null,/, ,/g" result.txt > result.tmp
  #4 (permalink)  
Old 11-25-2008
sohaibs sohaibs is offline
Usuário
  
 

Join Date: Nov 2008
Posts: 4
sed -e "s /, null, /, / g" Result.txt> result.tmp
sed 's /, null, /, / g' Result.txt> result.tmp

Ambas as declarações acima substituir apenas a primeira ocorrência de nulidade, para, em cada linha.
Poderia isto ser feito de outra forma? Im tentar modificar o conteúdo de um arquivo usando um script que primeiro extrai desses dados e modifica-lo um pouco.
  #5 (permalink)  
Old 11-25-2008
Franklin52 Franklin52 is offline Forum Staff  
Moderador
  
 

Join Date: Feb 2007
Mensagens: 4.308
Deverá funcionar, poste o seu arquivo no código parênteses (selecione o código e clique no botão "#" acima janela de edição).

Atenciosamente
  #6 (permalink)  
Old 11-25-2008
zaxxon's Avatar
zaxxon zaxxon is offline Forum Staff  
Moderador
  
 

Join Date: Sep 2007
Local: Alemanha
Posts: 2.285
Ambas as formas estão trabalhando na minha caixa ... Embora talvez tente algo como (ainda acho que é desnecessário):
Código:
sed -e :a -e 's/,null,/, ,/;ta' result.txt
Edit:
Só vi o longa exemplo linha.
Com a linha mostrada a 2 sed comandos não funciona no meu caixas - Acho que por causa da já substituídos adjacentes vírgulas da seguinte, NULL, NULL. Assim, o ciclo em sed será ok.

Última edição por zaxxon; em 11/25/2008 07:15.. Motivo: Adicionado info
  #7 (permalink)  
Old 11-25-2008
sohaibs sohaibs is offline
Usuário
  
 

Join Date: Nov 2008
Posts: 4
Código:
2,520,DB_MSC_MIT,null,KBNY,BLAH,US,5876548,VBU3M.U,VZ0M.U,U,VZFSK,BK,0.772084,ER,10.0,1.0,A,P,1.0,0.0,2009-01-16T00:00:00 @Europe/London,0.0,35.0,To La,1.0,1.6936391,7.07878526,6.629309,242.30009,Amer,1.3309,0.0,0.0,0.0,922.808018,312.3315240926514338,29.83157600000000,574,37.53658120375646,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-26.10513536513008,0.0,-74951.16306028693,-26.10513536513008,-74925.0579249218,0.0,0.0,0.0,0.0,0.0,0.0,-237.22390960441317,0.0,4896.289228465125,-237.22390960441317,5133.513138069538,0.0,0.0,0.0,0.0,0.0,0.0,-4755.8670072606055,0.0,458181.9339556703,-4755.8670072606055,462937.8009629309,null,null,null,0.0,O,VZFRP JAN 09 35 P,null,null,1.0,null,VP35 1.0,null,null,null,O,BSK,BSK,null,null,DrFr,NY,NY,null,0.0,0.0,0.0,0.0,0.0,0.0,0.0,2,0.0,0.0,0.0
Closed Thread

Marcadores

Tags
shell script, shell script, unix script, unix script básico

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 12:15.


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