+ Responder ao Tópico



  1. #1

    Padrão Erro usando o GREP

    Amigos eu tinha um script enorme no Conectiva 10, e funcionava normalmente.
    Como sou amante do Ubuntu, mudei meu server para Ubuntu Server 6.06, mas veja o que acontece no momento que meu script executa a seguinte ação:

    Código :
    root@www:/var/mail# U=carakas
    root@www:/var/mail# cat /etc/squid/liberados
    terra
    junior
    tomate
    acucaratia
     
    root@www:/var/mail# cat /etc/squid/liberados | grep $U
    grep: Unmatched [ or [^
    root@www:/var/mail# cat /etc/squid/liberados | grep terra
    terra

    ou

    Código :
    root@www:/var/mail# U=terra
    root@www:/var/mail# cat /etc/squid/liberados | grep $U
    terra

    Vejam que quando eu busco com o grep usando uma variavel e o valor nao existe, ele da erro, mas se o valor existir ai fica ok.

    Explicações ?

  2. #2
    mcm
    Visitante

    Padrão

    Somente com o valor "carakas" que ocorre esse erro?

  3. #3
    Administrador Avatar de Fernando
    Ingresso
    Jul 2001
    Localização
    Campinas Area
    Posts
    4.996
    Posts de Blog
    4

    Padrão

    Você pode usar a opção -s pra suprimir mensagens de erro.

  4. #4

    Padrão

    Então amigos, eu to usando o FGREP.

    Resolveu meu problema.
    Lá tenho o seguinte:

    Código :
     L=$(cat /etc/squid/liberados | fgrep $U)

    Hummm.. Bom, estudei o :

    egrep
    ngrep
    fgrep
    grep... (todos em minúsculas)

  5. #5

    Padrão

    Citação Postado originalmente por mcm Ver Post
    Somente com o valor "carakas" que ocorre esse erro?
    Não amigo, no caso com qualquer valor atribuido a esta variável.

    =/

    É estranho, pois testei em outras distribuições e nada ocorreu.
    Bom.... é assim mesmo.

    Tamo ai.