Encontre a palavra dentro de caracteres especiais ou espaços em vários arquivos

1

Como encontrar todas as correspondências da palavra exata em arquivos dentro do diretório (incluindo subdiretórios) que podem estar rodeados por caracteres especiais ou espaços ou nada (início ou fim de linha). Eu acho que isso é comum quando pesquisando no código-fonte.

Digamos que dentro dos vários arquivos eu queira encontrar a palavra is . Deve encontrar estas ocorrências:

is (esta é a única palavra em uma linha)

(is)

"is"

this is something

Por exemplo, grep -r in encontra correspondências dentro de outras palavras que eu não preciso.

    
por user1880405 03.01.2016 / 17:03

1 resposta

2

Você pode usar o -w ou --word-regexp flag, por exemplo.

grep -wr 'is' .

De man grep

-w, --word-regexp
       Select  only  those  lines  containing  matches  that form whole
       words.  The test is that the matching substring must  either  be
       at  the  beginning  of  the  line,  or  preceded  by  a non-word
       constituent character.  Similarly, it must be either at the  end
       of  the  line  or  followed by a non-word constituent character.
       Word-constituent  characters  are  letters,  digits,   and   the
       underscore.
    
por steeldriver 03.01.2016 / 18:26