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

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

Re: [shell-script] referenciar arquivo.


From: Rafig
Subject: Re: [shell-script] referenciar arquivo.
Date: Sat, 16 Sep 2006 22:33:46 +0000 (GMT)

Grande Flávio,
Vc não sabe o quanto te agradeço pela informação, já
tinha perguntado a muita gente e procurado em vários
lugares, mas na velocidade que eu tô, acho até que
passei por cima de muita coisa.
Fico muito agradecido e te devendo uma. Não vou
esquecer. 
Rafig
--- Flavio Junior <address@hidden> escreveu:

> Com o sed voce pode fazer isso..
> Usando "a" (append) ou "i" de insert, por exemplo:
> 
> nwadmin@bishamonten:~$ cat test.txt
> abc
> cba
> ads
> nada
> adfa
> adfadfa
> 
> nwadmin@bishamonten:~$ sed '/nada/i TESTANDO'
> test.txt
> abc
> cba
> ads
> TESTANDO
> nada
> adfa
> adfadfa
> 
> nwadmin@bishamonten:~$ sed '/nada/a TESTANDO'
> test.txt
> abc
> cba
> ads
> nada
> TESTANDO
> adfa
> adfadfa
> 
> nwadmin@bishamonten:~$ sed '3a TESTANDO' test.txt
> abc
> cba
> ads
> TESTANDO
> nada
> adfa
> adfadfa
> 
> nwadmin@bishamonten:~$
> 
> 
> Sorte!
> 
> 
> Flávio do Carmo Junior
> 
> 
> On 9/16/06, Rafig <address@hidden> wrote:
> > Valeu, Flávio, confesso que eu não explicaria
> melhor que isto. Muito boa explicação.
> > E, se vc puder ou souber tirar a minha dúvida eu
> te agradeço:
> > Como eu faço para inserir algo no meio de um
> arquivo ?
> > O echo acrescenta ao fial da linha ou modifica
> tudo no arquivo, mas não é isso que quero. Por
> exemplo, telho o arquivo /etc/squid.conf e gostaria
> de acrescentar uma ACL ou uma regra neste arquivo
> como faria usando um shell-script ? Eu preciso que
> atavés de linha de comando ou num script acrescentar
> algo num determinado arquivo e isto deverá ser no
> meio do arquivo. Vc sabe como faço ?
> > O que uso SED ou AWK ? ou outra coisa ?
> > Agradecerei muito a quem puder me ajudar.
> > Rafig
> >
> > Flavio Junior <address@hidden> escreveu: Hm..
> deixa eu tentar atender o pedido do Rafig..
> >
> > Isaias, esse comando que o Rafig te passou vai
> fazer o seguinte:
> > - Percorrer o arquivo linha a linha e exibir na
> tela*
> > - Quando ele encontrar a ocorrencia de QUALQUER
> "*" (asterisco) em
> > QUALQUER lugar do arquivo, ele vai substituir isso
> por um "."
> > (ponto)...
> > - No final, aquele ">>" que ele fez ali, direciona
> na verdade a saida
> > q disse no primeiro item que seria em tela para um
> arquivo, ou seja,
> > ele nao altera seu arquivo direto e sim gera um
> novo arquivo "arquivo
> > final" com essa alteração já realizada.
> >
> > Dois pontos importantes, na forma como voce
> solicitou a ajuda voce foi
> > bem especifico quanto ao que alterar e onde, por
> isso a maioria do
> > pessoal passou soluções mais "complexas", por que
> era necessario
> > tratar uma linha X e uma coluna Y. Se por acaso
> JAMAIS vá aparecer um
> > * no meio do seu arquivo que NÃO possa ser
> alterado pra um ".", essa
> > solução do Rafig é mto boa porem, se voce disser q
> quer alterar
> > SOMENTE o asterisco que aparecer na linha X e na
> coluna Y, essa
> > solução nao será a melhor, visto que ela altera
> qualquer asterisco em
> > qualquer lugar.
> >
> > Então fica ao seu criterio, escolher a melhor
> solução. Eu vou
> > contribuir usando a ideia do Rafig e se ela for
> suficiente pra voce
> > blz.
> >
> > Como outro amigo nosso ai disse, o sed possui a
> opção "-i", que faz
> > com que voce não precise gerar um arquivo com a
> alteração e manter o
> > original, se for isso que voce quer é só adicionar
> o -i na linha do
> > rafig e esquecer a parte do >> arquivo final,
> ficando assim:
> >
> > $ sed -i 's/*/./g' arquivo.txt
> >
> > Outro detalhe que vale dizer, aquele "g" no final
> do comando do sed
> > ali quer dizer TODOS na linha, ou seja, TODOS *
> que aparecerem na
> > linha vao virar . - se tu quiser que somente o
> primeiro * encontrado
> > na linha vire ., é só tirar o g. Outro detalhe,
> unindo as outras
> > respostas, se o numero da linha onde esse * vai
> aparecer for fixo,
> > seria interessante voce especifica-lo pro sed,
> assim voce evita que
> > outros * de outras linhas virem .   :)
> >
> > No final, a minha contribuição organizando as
> respostas da galera e
> > acreditando que seu problema nao era tao
> complicado qto vc pensou é:
> >
> > $ sed -i '15s/*/./' arquivo.txt
> >
> > Assim eu disse,
> >  - altere no arquivo arquivo.txt
> >  - na linha 15
> >  - substitua o primeiro * que encontrar por .
> >
> >
> > Espero ter ajudado,
> >
> > Sorte.
> >
> > Flávio do Carmo Junior
> >
> > On 9/15/06, Isaias de Assis Machado  wrote:
> > > PERFEITO...
> > >
> > > ________________________________
> > >
> > > De: address@hidden
> [mailto:address@hidden] Em nome de
> Tiago Barcellos Peczenyj
> > > Enviada em: sexta-feira, 15 de setembro de 2006
> 16:59
> > > Para: address@hidden
> > > Assunto: Re: [shell-script] referenciar arquivo.
> > >
> > >
> > > $ awk -v X="." -v L=17 -v C=15 'NR!=L{print}
> > > NR==L{print substr($0,0,C-1),X,substr($0,C+1)}'
> file
> > >
> > > X é o caracter q vc quer mostrar, L é a linha e
> C é a coluna...
> > >
> > > serve isso?
> > >
> > > On 9/15/06, Isaias de Assis Machado  wrote:
> > > > Peguei o arquivo no site do grupo..
> > > > fiz o seguinte:
> > > >
> > > > [isaias@home]$ cat arquivo.txt
> > > > xx000000000111111111122222
> > > > xx123456789012345678901234
> > > > 01
> > > > 02
> > > > 03
> > > > 04
> > > > 05
> > > > 06
> > > > 07
> > > > 08
> > > > 09
> > > > 10
> > > > 11
> > > > 12
> > > > 13
> > > > 14
> > > > 15            *
> > > > 16
> > > > 17
> > > >
> > > > [isaias@home]$ cat arquivo.txt | sed -n
> '17p'|cut -b15-
> > > > *
> > > >
> > > > Beleza.. Isso me mostra o caractere em
> questao.. Mas como eu farei pra sobrescrever ele no
> arquivo.txt (tipo.. Quero escrever um "." (ponto) no
> lugar dele...)...................
> > > >
> > > >
> > > > []'s
> > > >
> > > > Isaias
> > > >
> > > >
> > > >
> > > > ________________________________
> > > >
> > > > De: address@hidden
> [mailto:address@hidden] Em nome de
> rafig38
> > > > Enviada em: sexta-feira, 15 de setembro de
> 2006 15:16
> > > > Para: address@hidden
> > > > Assunto: [shell-script] referenciar arquivo.
> > > >
> > > >
> > > > Tem o arquivo em htm chamado sed_ptBR[1].html
> nos arquivos do grupo
> > > > que vc pode consultar.
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > [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
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > >
> > >
> > > --
> > > Tiago B Peczenyj
> > > Linux User #405772
> > >
> > > # cd /pub
> > > # more beer
> > >
> > >
> > >
> > > [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
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> >
> >
> >
>
---------------------------------------------------------------------
> > 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
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >   Jesus said: I'm the way, the truth and the life,
> anyone come to the God without me.
> >   Think about this.
> >   Rafig - ICQ: 271557403
> >
> >
> > ---------------------------------
> >  Yahoo! Search
> >  Música para ver e ouvir: You're Beautiful, do
> James Blunt
> >
> > [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
> >
> >
> >
> >
> >
> >
> >
> >
> 
> 
>
---------------------------------------------------------------------
> 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
> 
> 
> 
> 
>  
> 
> 
> 


 
  Jesus said: I'm the way, the truth and the life, anyone come to the God 
without me.
  Think about this.
  Rafig - ICQ: 271557403



                
_______________________________________________________ 
Novidade no Yahoo! Mail: receba alertas de novas mensagens no seu celular. 
Registre seu aparelho agora! 
http://br.mobile.yahoo.com/mailalertas/ 
 



reply via email to

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