Redirecionar grep para um arquivo não funciona [fechado]

4

Eu estou fazendo um grep recursivo pelo seguinte comando:

grep -r "load" . > tmp.txt

No entanto, quando eu apertei enter, o comando não executa e o bash está esperando por mais entradas. Meu sistema operacional é o Ubuntu 12.04.

Eu verifiquei as duas respostas seguintes, mas elas não conseguiram resolver meu problema.

Por que o grep não funciona com o redirecionamento?

como faço para redirecionar a saída de tailf & grep para um arquivo

    
por ZillGate 05.05.2014 / 20:14

1 resposta

3

Eu também uso o Ubuntu 12.04 e recebo este erro:

$ grep -r 'test' . > tmp.txt
grep: input file './tmp.txt' is also the output

Porque o redirecionamento será expandido primeiro, então tmp.txt é criado no diretório atual antes que grep seja executado, levando a erros.

Se eu alterar tmp.txt para outro caminho, como /tmp/tmp.txt , funcionará normalmente.

Minha grep versão:

$ grep --version
grep (GNU grep) 2.10
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Mike Haertel and others, see <http://git.sv.gnu.org/cgit/grep.git/tree/AUTHORS>.
    
por 05.05.2014 / 21:23