+ Responder ao Tópico



  1. #1

    Padrão Sed com shell script

    Estou tentando criar um script para usar com o aplinux, para poder automatizar algumas tarefas como criacao de dominios, dns, email, o esqueleto do script postei em http://www.izaz.com.br/download/dominio.rar mas esta faltando a parte de edicao dos arquivos, passaram umas dicas sobre o sed, mas nao estou conseguindo fazer exclusao de varias linhas ao mesmo tempo, por exemplo tem a linha que contem www.dominio.com.br, e seria preciso excluir ela e as 3 proximas linhas, outra duvida o sed faz alteracao apenas para exibicao e deve ser usado um direcionador para um arquivo, ou ele faz a edicao permanente???

    agradeço qualquer sugestao.


    vlw. :toim:

  2. #2

    Padrão Sed com shell script

    ele faz o redirecionamento pra uma saida qq

    sobre os procedimentos em sed, tem mta documentacao boa aque..

    http://wmaker.lrv.ufsc.br/sed_ptBR.html
    http://www.grymoire.com/Unix/Sed.html#toc-uh-64

    []'s

  3. #3
    gmlinux
    Visitante

    Padrão Sed com shell script

    sed -e "/\(^root\)/,+2d" /etc/passwd
    deleta a linha que começa com root e mais 2 abaixo
    a saida você joga para um temporário e depois substitui o original

  4. #4
    underlinuxuser
    Visitante

    Padrão Sed com shell script

    O sed versão 4 ou superior faz a alteração no prorpio arquivo.
    digite sed -V e verifique a versão do seu

    para alterarar o proprio arquivo utilize o parametro i:
    sed -i '/^root/,+3d' /etc/passwd

    Ainda é possível criar um arquvo de backup:
    Senao me engano:
    sed -i arq.bak '/^root/,+3d' /etc/passwd

    man sed para mais informações

    Abraços
    &:-)

  5. #5
    gmlinux
    Visitante

    Padrão Sed com shell script

    Citação Postado originalmente por underlinux
    O sed versão 4 ou superior faz a alteração no prorpio arquivo.
    digite sed -V e verifique a versão do seu

    para alterarar o proprio arquivo utilize o parametro i:
    sed -i '/^root/,+3d' /etc/passwd

    Ainda é possível criar um arquvo de backup:
    Senao me engano:
    sed -i arq.bak '/^root/,+3d' /etc/passwd

    man sed para mais informações

    Abraços
    &:-)
    Me senti velho agora, quando li o man a algum tempo não tinha esta opção -i ...

  6. #6

    Padrão Sed com shell script

    Citação Postado originalmente por gmlinux
    Citação Postado originalmente por underlinux
    O sed versão 4 ou superior faz a alteração no prorpio arquivo.
    digite sed -V e verifique a versão do seu

    para alterarar o proprio arquivo utilize o parametro i:
    sed -i '/^root/,+3d' /etc/passwd

    Ainda é possível criar um arquvo de backup:
    Senao me engano:
    sed -i arq.bak '/^root/,+3d' /etc/passwd

    man sed para mais informações

    Abraços
    &:-)
    Me senti velho agora, quando li o man a algum tempo não tinha esta opção -i ...
    Digo o mesmo hehe.

  7. #7

    Padrão Sed com shell script

    esse eh o caso em que uma letra realmente faz a diferenca, vou mudar o script para fazer a alteracao direto no arquivo, fica muito mais facil do que direcionar e substituir.

    quem quiser dar uma olhada no arquivo como ta ficando, pode pega-lo em www.izaz.com.br/download/dominio.rar

    vlw pelas dicas.