Por que o 'find' não mostra este arquivo?

21

Usando find com grep , pode-se localizar arquivos que correspondam a um padrão:

# find | grep error
./solr-modifiedSolr4/SolrPhpClient/phpdocs/errors.html
./error_log
./includes/classes/error_log

No entanto, usando find sozinho, o primeiro arquivo não foi encontrado:

# find . -name error*
./error_log
./includes/classes/error_log

Por que o find não localiza o arquivo errors.html quando não é usado com grep ? Como o find costumava mostrar esse arquivo também?

    
por dotancohen 11.11.2012 / 11:20

1 resposta

42

Você precisa citar seu argumento error* porque o shell o expande. Então, o que você está realmente executando agora é find -name error_log , porque é para isso que o shell pode expandi-lo (há um arquivo chamado error_log em seu diretório atual).

find . -name 'error*'

É a invocação correta para o seu caso de uso.

    
por 11.11.2012 / 11:23