Para pegar a linha _N_ de um arquivo qualquer:
tail -n +_N_ nome_do_arquivo | head -n 1
ou
head -n _N_ nome_do_arquivo | tail -n 1
ou
sed '_N_!d' nome_do_arquivo
mas todas essas formas lêem o arquivo inteiro.
Se entendi direito, você vai rodar isso de dentro do MRTG para
associar nomes aos IPs monitorados. Se você tiver 200 hosts, você vai
fazer com que a cada execução, cada entrada do MRTG leia duas vezes o
arquivo de 200 hosts, para pegar apenas uma deles. Assim, a cada
período de monitoração, você vai executar 400 pipe()/fork()/exec()
para ler, no total, 4 linhas.
Acho que o arquivo de hosts/nomes não vai ser alterado com muita
freqüência. Se eu não entedi tudo errado, eu sugeriria você fazer um
script para gerar um mrtg.cfg estático. O script seria rodado apenas
quando você alterasse o arquivo de nomes de hosts, e geraria um
mrtg.cfg que não precisasse mais chamar scripts externos. Assim você
sairia de uma situação O(n²) a cada período para O(n).
On 1/31/06, Ademir Costa Peixoto [EMAIL PROTECTED] wrote:
Prezados,
No uso do MRTG tenho o seguinte script que coleta informações dentro do
ipfw
#!/bin/sh
in=`/sbin/ipfw show 419 | /usr/bin/awk '{print $3}'`
out=`/sbin/ipfw show 1019 | /usr/bin/awk '{print $3}'`
echo $in
echo $out
echo 0
echo -n 0
Assim obtenho a informação na 3ª coluna. Mas como faço pra ler uma
determinada linha de um arquivo?
como ficaria isso?
## Consumo 2.3
Target[2_3]: `sh /scripts/2_3.sh`
Title[2_3]: IP 6.3 VARIAVEL DO NOME DO USUÁRIO
Unscaled[2_3]: dwmy
PageTop[2_3]: H1IP 6.3/H1 VARIAVEL DO NOME DO USUÁRIO
LegendI[2_3]: Entrada
LegendO[2_3]: Saida
tipo:
## Consumo 2.3
Target[2_3]: `sh /scripts/2_3.sh`
Title[2_3]: ´linha,col,aquivodenomes.txt'
Unscaled[2_3]: dwmy
PageTop[2_3]: H1´linha,col,aquivodenomes.txt'/H1
LegendI[2_3]: Entrada
LegendO[2_3]: Saida
Alguma dica?
___
Freebsd mailing list
Freebsd@fug.com.br
http://mail.fug.com.br/mailman/listinfo/freebsd_fug.com.br
--
Um abraço.
Paulo A. P. Pires
... Qui habet aurem audiat quid Spiritus dicat ecclesiis.
___
Freebsd mailing list
Freebsd@fug.com.br
http://mail.fug.com.br/mailman/listinfo/freebsd_fug.com.br