grep -r “padrão” não está respondendo

7

A versão grep é 2.10, e não responde a nada, mesmo em um pequeno conjunto de arquivos pequenos, enquanto a mesma linha em outra máquina Ubuntu funciona bem, onde a versão grep é 2.16 ...

O comando é:

grep -r "myVariable"

Em vez de retornar nada, ou alguns nomes e linhas de arquivos, assim:

path/to/file.c:     myVariable++;
path/to/file2.c:    int myVariable;

O shell de comando permanece ocupado e eu tenho que pará-lo usando ctrl+C

Qual é o problema ou como investigar isso?

    
por Makan Tayebi 04.01.2017 / 14:30

2 respostas

18

Como você não especifica nenhum arquivo de entrada, grep espera que você forneça dados de entrada em sua entrada padrão.

O comportamento em que -r usará o diretório atual por padrão não é padrão ( na verdade, -r em si é ) e foi introduzido no GNU grep 2.11.

    
por fkraiem 04.01.2017 / 14:48
2

Acho que você está perdendo o nome do arquivo. Na página man do grep, a sintaxe deve ser a seguinte:

grep [OPTIONS] PATTERN [FILE...]

Ex : grep -r pattern your_directory_path
    
por Rajesh Keladimath 04.01.2017 / 14:49