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
substituir um campo em um arquivo CSV prvnrk Programação Shell Script e 2 11-12-2008 08:51
substituir único campo de 60 ajp7701 Programação Shell Script e 2 04-21-2008 07:17
Substituir campo em csv pcboss Linux 4 01-19-2008 06:24
Substituir campo Senha utilizando ed / sed Munch UNIX para Dummies Perguntas & Respostas 6 04-30-2007 11:01
Substitua por 2 Campo 10. PradeepRed Programação Shell Script e 2 01-19-2006 03:46

Reply
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 06-03-2009
VGR VGR is offline
Usuário
  
 

Join Date: Mar 2008
Localização: kolkata
Lugares: 34
awk para substituir área particular

Tenho dados incorretos, por exemplo, o uso de letras maiúsculas no meio da palavra.
Eu identificados os erros, fez uma lista e colocá-lo em um arquivo error_correction.txt
Incorreta, corrija
Venom, Venom
nsa, NSA
.
.
.



O meu arquivo de dados parecido com isto:
vgr, Bugatti Veron,, 3.5, Venom, 6 ,.......,....
vgr, lamborgini,, 3.5, nsa, 6 ,.......,....
abc, Bugatti Veron,, 3.5, Venom, 6 ,.......,.......
.
.
.
.

Preciso de substituir os termos em um campo com o 5 º que, a partir do arquivo.
Como posso fazer isso usando awk?
  #2 (permalink)  
Old 06-03-2009
joeyg's Avatar
joeyg joeyg is offline Forum Staff  
Modérateur
  
 

Join Data: dezembro 2007
Localização: Home, de 17 de tempo de campeão mundial de Boston Celtics
Posts: 1.311
Wink Um exemplo para você começar ...

Código:
> echo "867 5309 VerNOM 1234 Abcd"
867 5309 VerNOM 1234 Abcd

> echo "867 5309 VerNOM 1234 Abcd" | awk -v v1="VerNOM" -v v2="Vernom" '{gsub(v1,v2,$3);print}'
867 5309 Vernom 1234 Abcd
  #3 (permalink)  
Old 06-04-2009
VGR VGR is offline
Usuário
  
 

Join Date: Mar 2008
Localização: kolkata
Lugares: 34
Graças Joeyg ...
Eu não tinha certeza quanto à calma suba valores de um outro arquivo de dentro do awk!
como faço para usar um rabo. array [hash] dentro awk?
  #4 (permalink)  
Old 06-04-2009
Franklin52 Franklin52 is offline Forum Staff  
Moderador
  
 

Join Date: Feb 2007
Mensagens: 4.300
Tente este:

Código:
awk -F, '
NR==FNR{a[$1]=$2;next}
a[$5]{$5=a[$5]}
1' error_correction.txt datafile
Atenciosamente
  #5 (permalink)  
Old 06-04-2009
VGR VGR is offline
Usuário
  
 

Join Date: Mar 2008
Localização: kolkata
Lugares: 34
im calma certeza não é por isso que esta acontecendo ...
o valor mudanças dentro do ciclo, mas não está sendo gravado no arquivo!
  #6 (permalink)  
Old 06-04-2009
Franklin52 Franklin52 is offline Forum Staff  
Moderador
  
 

Join Date: Feb 2007
Mensagens: 4.300
O arquivo está não pode ser editado "no local", com awk. Redirecionar a saída para um arquivo temporário e substituir o arquivo original com ela.

Código:
awk '<commands>' error_correction.txt datafile > tempfile
mv tempfile datafile
  #7 (permalink)  
Old 06-04-2009
VGR VGR is offline
Usuário
  
 

Join Date: Mar 2008
Localização: kolkata
Lugares: 34
cool ...
awesome stuff
graças a tonelada homem ....
Reply

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 11: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