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:49:51 -0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:13.0) Gecko/20120615 Thunderbird/13.0.1

Opá, Cléoson,

         Era isso mesmo, não estava nem me ligando nas aspas simples que 
estava o comando sed, agora resolveu beleza.

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

         Obrigado a ajuda de todos.

Atenciosamente,
Karin Klayton Schiochet


Em 02-07-2012 11:30, Cléoson Barreto escreveu:
>
> 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 <mailto:karinklayton%40gmail.com>
> > 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>
> > > <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>
> > > <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>
> > > <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>
> > > <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]
>
> 




[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]