O terminal grep do Ubuntu elimina todos os caracteres especiais no literal do termo de pesquisa

1

Eu tenho o Ubuntu 14.04 instalado no meu sistema. Juntamente com o Magento CE 1.9.2.4 instalado no webroot ( /var/www/html/ ).

Agora eu quero grep/egrep/fgrep uma linha inteira de código que pode conter caracteres especiais como $,<,>,',(,-," etc e quais não.

Como posso pesquisar a linha de código abaixo em todo o diretório Magento (em todos os arquivos recursivamente), escapando / permitindo caracteres no literal do termo de busca, com a sintaxe mais curta da linha grep e uma busca mais rápida?

$this->helper('catalog/image')->init($product, 'image')->resize(200)->keepFrame(false);

Alguém pode me ajudar aqui?

    
por Vicky Dev 06.09.2016 / 12:17

1 resposta

3

A opção -F faz com que grep interprete o padrão como uma string fixa em vez de uma regex, e -r diz para pesquisar recursivamente. Mas você ainda tem que proteger o $ do shell:

grep -F -r "$this->helper('catalog/image')->init($product, 'image')->resize(200)->keepFrame(false);" /var/www/html/
    
por Florian Diesch 06.09.2016 / 12:27