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

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

Re: consultar arquivo alterar valores em outro.


From: nerobarrabas
Subject: Re: consultar arquivo alterar valores em outro.
Date: Sun, 04 Nov 2012 18:16:19 -0000
User-agent: eGroups-EW/0.82

Robson, agora entendi.
Sua solução funciona beleza.
Segue a minha aqui no velho amigo awk:

awk -F"," 'BEGIN {};{print "define hostextinfo{";print "host_name "$1;print 
"2d_coords "$2","$3;print "}";}' arquivoA  > arquivoB.cfg

Valeu

Diramos

--- Em address@hidden, Robson Alexandre <alexandrerobson@...> escreveu
>
> Diramos,
> acho q o q o Leonardo quer seria pegar os dois numeros inteiros de cada
> linha do arquivo A e substituir na chave do servidor correspondente do
> arquivo B em 2d_coords.
> Se for isso basta colocá-los em uma variavel linha a linha e usar o sed
> para localizar e substituir no arquivo B.
> p.e.
> 
> #!/bin/bash
> arqA=/tmp/arquivoA
> arqB=/tmp/arquivoB
> clear
> while read linha
> do
> coords=( $(sed 's/,/ /g' <<< $linha) )
> sed -r -i ":a;/}/!{N;ba}; /${coords[0]}/s/(.*2d_coords
> )(.*)(\n.*)/\1${coords[1]},${coords[2]}\3/g" ${arqB}
> done < ${arqA}
> 
> 
> Resultando na saída
> define hostextinfo{
> host_name server1
> 2d_coords 133,809
> }
> 
> define hostextinfo{
> host_name server_ad01
> 2d_coords 297,1108
> }
> 
> Caso o gmail quebre as linhas  onde não deveria fica aqui o link do script
> http://pastebin.com/MLamTkx2
> 
> Atenciosamente
> 
> Robson Alexandre
> 
> Em 4 de novembro de 2012 14:21, nerobarrabas <diramos@...> escreveu:
> 
> > **
> >
> >
> > Leonardo,
> > Pelo que vi, isso é Nagios, né?
> > E de Nagios, não querendo me "gambar", eu mando bem.
> >
> > Não entendi o que você quer concatenar no arquivo B.
> > Veja:
> >
> > O arquivo A contem:
> >
> > server1,133,809,
> > srv-rj01,156,654,
> > server_ad01,297,1108
> >
> > O arquivo B deve conter:
> >
> > 2d_coords 290,0
> >
> > Então pergunto:
> >
> > Como você pode colocar a string "290,0" no arquivo B, se ela não existe no
> > arquivo A?
> > Qual a regra prá compor essa string, a partir do arquivo A?
> >
> > Diramos
> >
> > --- Em address@hidden, Alfredo Casanova <atcasanova@>
> > escreveu
> >
> > >
> > > Entre no Google e digite "só sed"
> > > Normalmente o primeiro link direciona para ima página do Aurélio com
> > vários
> > > one liners do sed. Certamente você encontrará sua solução lá.
> > > On Nov 2, 2012 2:31 PM, "Leonardo Bacha Abrantes" <leonardo@>
> >
> > > wrote:
> > >
> > > > **
> > > >
> > > >
> > > > Boa tarde pessoal,
> > > >
> > > > estou precisando fazer um script que pegue valores em um arquivo e
> > altere
> > > > em outro.
> > > >
> > > > conteúdo do arquivo A:
> > > >
> > > > server1,133,809,
> > > > srv-rj01,156,654,
> > > > server_ad01,297,1108,
> > > >
> > > > conteúdo do arquivo B:
> > > >
> > > > define hostextinfo{
> > > > host_name server1
> > > > 2d_coords 290,0
> > > > }
> > > >
> > > > define hostextinfo{
> > > > host_name server_ad01
> > > > 2d_coords 179,96
> > > > }
> > > >
> > > > Preciso alterar os valores de 2d_coords respectivos de cada servidor no
> > > > arquivo B.
> > > >
> > > > Alguém poderia me dar uma idéia de como posso fazer isso ?
> > > >
> > > > obrigado!
> > > > abs,
> > > >
> > > > [As partes desta mensagem que não continham texto foram removidas]
> > > >
> > > >
> > > >
> > >
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> >
> >  
> >
> 
> 
> [As partes desta mensagem que não continham texto foram removidas]
>




reply via email to

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