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

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

Re: [shell-script] Remover determinadas linhas do arquivo.


From: Cléoson Barreto
Subject: Re: [shell-script] Remover determinadas linhas do arquivo.
Date: Mon, 2 Jul 2012 11:30:01 -0300

Olá!

     Experimente fazer o sed com aspas duplas:

     sed -i "/host $host [{]/,/[}]/d" dhcp.conf

[]'s
Cléoson.

Em 2 de julho de 2012 11:19, Karin Klayton Schiochet <address@hidden
> escreveu:

> **
>
>
> Robson,
>
> Essa sua solução resolve sim o problema. Eu estava querendo
> fazer tudo com apenas um sed, mas adicionando mais uma linha para
> reconhecer o host fica mas fácil de remover depois o que preciso. Agora
> tem um problema, o sed não esta aceitando entrar com variável no comando.
> Ficou assim:
> host=$(grep -B2 -A2 "10.2.3.94;" dhcp.conf | grep "host" | cut
> -d" " -f2)
>
> sed -i '/host $host [{]/,/[}]/d' dhcp.conf
>
> Deveria remover a linha mas não esta fazendo porque o sed não
> esta reconhecendo/convertendo a variável $host creio eu.
>
> Obrigado pela ajuda.
>
> Em 02-07-2012 08:51, Robson Alexandre escreveu:
> >
> > Mas essa solução serve tanto para Ip, host mac, qq coisa q esteja entre
> as
> > linhas das chaves {}
> > Testa aí o q te falei e diz se te atende.
> >
> > Atenciosamente
> > Robson Alexandre
> >
> > Enviado por Samsung Mobile
> > Em 01/07/2012 11:15, "Fredi Bieging" <address@hidden
> > <mailto:fredi.bieging%40gmail.com>> escreveu:
> >
> > > Talvez seja o caso de você fazer um passo anterior para pegar o
> > host, dado
> > > um ip:
> > >
> > > host=$(grep -B 5 $IP dhcp.conf | grep host | cut -d ' ' -f2 | tail -n
> 1)
> > >
> > >
> > > 2012/7/1 Karin Klayton Schiochet <address@hidden
> > <mailto:karinklayton%40gmail.com>>
> > >
> > > > **
> > > >
> > > >
> > > > Olá Robson,
> > > >
> > > > Valeu pela dica, seria perfeito, porém, o problema é que eu não
> > > > tenho conhecimento do host que irei remover. Recebo apenas a
> > informação
> > > > do IP que devo remover e a partir dai tenho que remover do escopo
> > o host.
> > > >
> > > > Atenciosamente,
> > > > Karin Klayton Schiochet
> > > >
> > > > Em 30-06-2012 18:09, Robson Alexandre escreveu:
> > > >
> > > > >
> > > > > Prezado Karin,
> > > > >
> > > > > Tenta esse aqui para remover o host desejado
> > > > >
> > > > > host=h1766
> > > > > sed "/{/{:a;/}/ ! {N;ba};/${host}/d}" dhcp.conf
> > > > >
> > > > > colocando sua variável no exemplo acima usei o h1766
> > > > >
> > > > > att
> > > > >
> > > > > Robson Alexandre
> > > > >
> > > > > Em 30 de junho de 2012 15:52, Alysson Gonçalves de Azevedo <
> > > > > address@hidden <mailto:agalysson%40gmail.com>
> > <mailto:agalysson%40gmail.com>> escreveu:
> > > >
> > > > > > Sei que vão te dar respostas melhores, mas para trazer o que você
> > > quer,
> > > > > > pode ser possível com um grep -v
> > > > > >
> > > > > > grep -v "$(sed 'H;/10.3.1.10\;/{g;N;s/^\n//p;};
> > > > > > x;s/.*\(\(\n[^\n]*\)\{2\}\)/\1/;x ;d' dhcp.conf)" dhcp.conf
> > > > > >
> > > > > >
> > > > > > Alysson Gonçalves de Azevedo
> > > > > > (11) 8491-7730
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > Em 30 de junho de 2012 13:05, Karin Klayton Schiochet <
> > > > > > address@hidden <mailto:karinklayton%40gmail.com>
> > <mailto:karinklayton%40gmail.com>> escreveu:
> > > >
> > > > > >
> > > > > >> **
> > > > > >>
> > > > > >>
> > > > > >> Prezados,
> > > > > >>
> > > > > >> Estou tendo problemas com um script e gostaria de pedir a ajuda
> > > > > >> de vocês. Tenho um escopo dhcp e fiz um script para adicionar
> > hosts
> > > no
> > > > > >> dhcp. O problema é que recebo através de um sistema externo a
> > > > > informação
> > > > > >> para remover o IP do dhcp e não estou conseguindo formatar um
> > > comando
> > > > > >> para remover todos os campos necessários.
> > > > > >>
> > > > > >> Segue exemplo do escopo dhcp.
> > > > > >> dhcp.conf
> > > > > >> host h1765 {
> > > > > >> hardware ethernet 00:1A:66:81:49:E6;
> > > > > >> fixed-address 10.2.3.94;
> > > > > >> filename "r768.bin";
> > > > > >> }
> > > > > >> host h1766 {
> > > > > >> hardware ethernet 00:50:FC:59:F2:0E;
> > > > > >> fixed-address 10.3.1.10;
> > > > > >> }
> > > > > >> host h1767 {
> > > > > >> hardware ethernet 00:0A:E6:D5:36:8C;
> > > > > >> fixed-address 10.3.1.100;
> > > > > >> }
> > > > > >>
> > > > > >> Para cadastrar está tudo correto, todavia, para remover é que
> > > > > >> mora o problema. Recebo como informação um arquivo com apenas
> uma
> > > > linha
> > > > > >> "REM 10.3.1.10" como exemplo. A partir dai me baseado pelo IP
> > tenho
> > > > que
> > > > > >> remover esse host do dhcp e não estou conseguindo. Encontrei
> > > exemplos
> > > > > >> muito bom no site do Thobias "
> http://thobias.org/doc/sosed.html";
> > > que
> > > > > >> imprime as linhas que desejo, porém, gostaria do inverso e
> > não estou
> > > > > >> conseguindo.
> > > > > >>
> > > > > >> cat dhcp.conf | sed 'H;/10.3.1.10\;/{g;*N;*s/^\n//p;};
> > > > > >> x;s/.*\(\(\n[^\n]*\)\{2\}\)/\1/;x ;d'
> > > > > >> host h1766 {
> > > > > >> hardware ethernet 00:50:FC:59:F2:0E;
> > > > > >> fixed-address 10.3.1.10;
> > > > > >> }
> > > > > >>
> > > > > >> ou
> > > > > >> cat hdcp.conf | sed 'H;/10.2.3.94\;/{g;*N;N;*s/^\n//p;};
> > > > > >> x;s/.*\(\(\n[^\n]*\)\{2\}\)/\1/;x ;d'
> > > > > >> host h1765 {
> > > > > >> hardware ethernet 00:1A:66:81:49:E6;
> > > > > >> fixed-address 10.2.3.94;
> > > > > >> filename "r768.bin";
> > > > > >> }
> > > > > >>
> > > > > >> O problema é que eu queria o inverso, remover esta linha do
> > arquivo.
> > > > > >>
> > > > > >> Agradeço a atenção.
> > > > > >> Karin Klayton Schiochet
> > > > > >>
> > > > > [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]