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: Karin Klayton Schiochet
Subject: Re: [shell-script] Remover determinadas linhas do arquivo.
Date: Mon, 02 Jul 2012 11:19:46 -0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:13.0) Gecko/20120615 Thunderbird/13.0.1

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]
> > > > >
> > > > > ----------------------------------------------------------
> > > > > Esta lista não admite a abordagem de outras liguagens de 
> programação,
> > > > como perl, C etc. Quem insistir em não seguir esta regra será 
> moderado
> > > sem
> > > > prévio aviso.
> > > > > ----------------------------------------------------------
> > > > > Sair da lista: address@hidden 
> <mailto:shell-script-unsubscribe%40yahoogrupos.com.br>
> > > > <mailto:shell-script-unsubscribe%40yahoogrupos.com.br>
> > >
> > > > > ----------------------------------------------------------
> > > > > Esta lista é moderada de acordo com o previsto em
> > > > http://www.listas-discussao.cjb.net
> > > > > ----------------------------------------------------------
> > > > > Servidor Newsgroup da lista: news.gmane.org
> > > > > Grupo: gmane.org.user-groups.programming.shell.brazil
> > > > >
> > > > > Links do Yahoo! Grupos
> > > > >
> > > > >
> > > >
> > > > [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]