Cygwin 'grep' em arquivos leva uma eternidade

1

Eu tentei usar o Cygwin para emular algum recurso de pesquisa legal do Linux, e quando eu faço grep em arquivos (12 arquivos de texto - não grandes) demora uma eternidade. Eu usei

grep -rne word

Eu poderia encontrar esta palavra mais rapidamente manualmente (mesmo sem Ctrl + F ). Existe alguma razão para isso não funcionar? Como consertar isso?

P.S .: Eu uso o console do Cygwin.

    
por IAdapter 05.12.2011 / 16:03

1 resposta

5

Você esqueceu de dizer grep onde para pesquisar, então fica ali esperando que os dados sejam inseridos de 'stdin' - geralmente um pipe, mas nesse caso seu teclado. Você pode confirmar digitando algo como " this is a word ", Inserir , Ctrl Z , Inserir .

Se você quiser pesquisar o diretório atual, recursivamente, forneça . como o caminho.

grep -rne word .

(Nota 2012-07: A versão mais recente do GNU grep pesquisará o diretório atual automaticamente se -r for fornecido.)

Em muitos casos, * também funcionará, mas isso não é recomendado porque 1) é ineficiente - expandir o curinga para todos os nomes de arquivo leva algum tempo e pode até transbordar o comprimento permitido da linha de comando; 2) ele não combina com os dotfiles (nomes que começam com um ponto) na maioria dos shells, embora eu não tenha certeza se isso se aplica à expansão feita pelo próprio Cygwin.

    
por 05.12.2011 / 19:54