[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] script com o log do dhpcd
From: |
Bruno Tobias Stella |
Subject: |
Re: [shell-script] script com o log do dhpcd |
Date: |
Thu, 25 Nov 2004 10:26:25 -0200 |
Grande Aurélio !
--- Aurelio Marinho Jargas <address@hidden> escreveu:
> > lease 172.16.10.10 {
> > starts 2 2004/11/23 12:04:44;
> > ends 2 2004/11/30 12:04:44;
> > binding state active;
> > next binding state free;
> > hardware ethernet 00:d0:09:fd:96:ea;
> > uid "\001\000\320\011\375\226\352";
> > client-hostname "Micro_do_Jose";
> > }
> >
> > passo ao script o IP 172.16.10.10 como parâmetro e recebo
> > "Micro_do_Jose".
>
> a maneira padrão de fazer isso em shell é um loop,
> primeiro identificando a linha com o IP, seta uma flag
> (uma variável que indicará que voce está no registro
> certo), e depois pesca a linha com o nome.
>
> uma maneira mais esperta é filtrar somente as linhas
> com IP e nome, no log, usando um egrep:
>
> egrep 'lease|client-hostname' dhcpd.log
>
> e depois fica mais fácil extrair a linha de baixo do IP,
> com outro grep por exemplo.
Desculpe a minha ignorância, mas como eu pegaria com um grep a linha debaixo do
IP ?
> ou ainda, um único SED que é pequeno mas exige mais
> conhecimentos para entendê-lo:
>
> IP="$1"
> cat dhcpd.log |
> sed -n "/^lease $IP {/,/}/{ s/client-hostname //p; }"
>
Este foi um show !
Absurdamente(para mim), apenas executei a linha acima e funcionou! Mais um
truque tirado
da manga do Mestre Aurélio.
Aurélio, se não for pedir muito, você poderia explicar só um pouquinho este
comando do sed?
Mais uma vez agradeço,
Bruno Stella
address@hidden
Setor de Redes - (19) 3031-4165
Secretaria de Informatica
Tribunal Regional do Trabalho da 15a. Regiao
RES: [shell-script] Ajuda ao shell-script, Marcelo Teles Provin, 2004/11/23