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: Flavio Cysne
Subject: Re: [shell-script] Remover determinadas linhas do arquivo.
Date: Mon, 2 Jul 2012 09:25:40 -0300

Acho que encontrei a solução.

sed '/host h1766 [{]/,/[}]/d' dhcp.conf > dhcp-new.conf

Este comando usa o sed com um range que vai desde a linha com o texto host
h1766 [{] até a primeira linha após esta anterior contendo o texto [}]
Os caracteres de chave, { e }, precisam ficar entre colchetes pois no sed
os { e } funcionam como agrupador de comandos.

Fiz o comando acima com base em uma resposta neste link:
http://unix.stackexchange.com/questions/10226/multiline-pattern-match-using-sed-awk-or-grep

Espero ter ajudado.
Flávio Cysne

Em 2 de julho de 2012 08:51, Robson Alexandre
<address@hidden>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> 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>
> >
> > > **
> > >
> > >
> > > 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>> 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>>
> 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>
> > >
> > > > > ----------------------------------------------------------
> > > > > 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]
> > > >
> > > >
> > > > <mailto:address@hidden
> >
> ?subject=Res%3A%20Re%3A%20%5Bshell-script%5D%20Remover%20determinadas%20linhas%20do%20arquivo%2E>
> > >
> > > > | através de email
> > > > <mailto:address@hidden
> >
> ?subject=Res%3A%20Re%3A%20%5Bshell-script%5D%20Remover%20determinadas%20linhas%20do%20arquivo%2E>
> > >
> > > > | Responder através da web
> > > > <
> > >
> >
> http://br.groups.yahoo.com/group/shell-script/post;_ylc=X3oDMTJxcWwzcmdoBF9TAzk3NDkwNDM3BGdycElkAzE5NDEzMTIEZ3Jwc3BJZAMyMTM3MTExMjU0BG1zZ0lkAzM0NjQ0BHNlYwNmdHIEc2xrA3JwbHkEc3RpbWUDMTM0MTA5MDU1NA--?act=reply&messageNum=34644
> > >
> > >
> > > > | Adicionar um novo tópico
> > > > <
> > >
> >
> http://br.groups.yahoo.com/group/shell-script/post;_ylc=X3oDMTJlaGtrZTJjBF9TAzk3NDkwNDM3BGdycElkAzE5NDEzMTIEZ3Jwc3BJZAMyMTM3MTExMjU0BHNlYwNmdHIEc2xrA250cGMEc3RpbWUDMTM0MTA5MDU1NA--
> > >
> > >
> > > >
> > > > Mensagens neste tópico
> > > > <
> > >
> >
> http://br.groups.yahoo.com/group/shell-script/message/34642;_ylc=X3oDMTM2MWFmaXUzBF9TAzk3NDkwNDM3BGdycElkAzE5NDEzMTIEZ3Jwc3BJZAMyMTM3MTExMjU0BG1zZ0lkAzM0NjQ0BHNlYwNmdHIEc2xrA3Z0cGMEc3RpbWUDMTM0MTA5MDU1NAR0cGNJZAMzNDY0Mg--
> > >
> > >
> > > > (3)
> > > > Atividade nos últimos dias:
> > > >
> > > > * Novos usuários
> > > > <
> > >
> >
> http://br.groups.yahoo.com/group/shell-script/members;_ylc=X3oDMTJmZGhxMzhiBF9TAzk3NDkwNDM3BGdycElkAzE5NDEzMTIEZ3Jwc3BJZAMyMTM3MTExMjU0BHNlYwN2dGwEc2xrA3ZtYnJzBHN0aW1lAzEzNDEwOTA1NTQ-?o=6
> > > >
> > > > 5
> > > >
> > > > Visite seu Grupo
> > > > <
> > >
> >
> http://br.groups.yahoo.com/group/shell-script;_ylc=X3oDMTJlNGYxZzUxBF9TAzk3NDkwNDM3BGdycElkAzE5NDEzMTIEZ3Jwc3BJZAMyMTM3MTExMjU0BHNlYwN2dGwEc2xrA3ZnaHAEc3RpbWUDMTM0MTA5MDU1NA--
> > >
> > >
> > > >
> > > > ----------------------------------------------------------
> > > > 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
> > > > ----------------------------------------------------------
> > > > 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
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > >
> > >
> >
> >
> > [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
> > ----------------------------------------------------------
> > 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]