web-dev-qa-db-ja.com

'find'がこのファイルを表示しないのはなぜですか?

findgrepを使用すると、パターンに一致するファイルを見つけることができます。

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

ただし、findを単独で使用すると、最初のファイルが見つかりません。

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

findと一緒に使用しないと、greperrors.htmlファイルを見つけられないのはなぜですか?このファイルを表示するためにfindはどのように使用されますか?

21
dotancohen

シェルが引数を展開するため、引数error*を引用する必要があります。つまり、現在実際に実行しているのはfind -name error_logです。これは、シェルがそれを展開できるためです(現在のディレクトリにerror_logという名前のファイルがあります)。

find . -name 'error*'

ユースケースの正しい呼び出しです。

42