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: Robson Alexandre
Subject: Re: [shell-script] Re: consultar arquivo alterar valores em outro.
Date: Sun, 4 Nov 2012 15:35:37 -0200

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 <address@hidden> 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]