Por que “grep keyword” faz com que o terminal permaneça indefinidamente?

21

Quando eu digito "grep doc" no terminal, ele simplesmente não faz nada, impedindo o terminal de fazer qualquer outra coisa antes de eu escapar usando Ctrl + C ou Z .

Eu sei que não é assim que eu devo usar o grep, mas apenas curioso porque isso está acontecendo.

    
por March3April4 26.03.2015 / 17:30

2 respostas

35
Por padrão,

grep pesquisa a entrada padrão se nenhum arquivo for fornecido:

grep searches the named input FILEs (or standard input if no files are named, or if a single hyphen-minus (-) is given as file name) for lines containing a match to the given PATTERN. By default, grep prints the matching lines.

Se você acabou de fazer grep doc grep espera que a entrada padrão venha e pesquise dentro dela (não insira partes entre < e > no terminal, estes são comentários):

$ grep doc
a b c <PRESS ENTER HERE>
doc <NO MATCH WAS FOUND IN PREVIOUS LINE, TYPE doc AND PRESS ENTER AGAIN>
doc <MATCH WAS FOUND>
    
por 26.03.2015 / 17:37
13

grep está aguardando entrada.

De man grep :

[...]
DESCRIPTION
       grep  searches  the named input FILEs (or standard input if no files are named
[...]
    
por 26.03.2015 / 17:35

Tags