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

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

Re: [shell-script] Re: consultar arquivo alterar valores em outro.


From: Leonardo Bacha Abrantes
Subject: Re: [shell-script] Re: consultar arquivo alterar valores em outro.
Date: Mon, 5 Nov 2012 14:42:47 -0200

Fala galera!

obrigado pela força....




2012/11/4 nerobarrabas <address@hidden>

> **
>
>
> 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]
> >
>
>  
>


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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