Problema ao usar o comando grep com uma variável env contendo caracteres especiais

0

Eu tenho uma variável "abc" com o valor "xyz *! @ #" na minha conta unix ( ksh ). Eu usei o comando export para exportar essa variável para o ambiente. Quando eu uso o comando grep como abaixo

env |grep xyz

Eu recebo a saída

abc=xyz*!@#

Mas quando eu uso o seguinte comando

env | grep xyz*!

Como esperado, não obtenho a saída como

abc=xyz*!@#

Na verdade, não recebo nenhuma saída.

    
por g4ur4v 01.11.2012 / 14:36

1 resposta

4

* tem um significado especial em expressões regulares, por isso escape:

env | grep 'xyz\*!'

Ou use a opção -F para informar grep para tratar o parâmetro como texto simples, não como expressão regular:

env | grep -F 'xyz*!'
    
por 01.11.2012 / 14:47

Tags