find
とgrep
を使用すると、パターンに一致するファイルを見つけることができます。
# 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
と一緒に使用しないと、grep
がerrors.html
ファイルを見つけられないのはなぜですか?このファイルを表示するためにfind
はどのように使用されますか?
シェルが引数を展開するため、引数error*
を引用する必要があります。つまり、現在実際に実行しているのはfind -name error_log
です。これは、シェルがそれを展開できるためです(現在のディレクトリにerror_log
という名前のファイルがあります)。
find . -name 'error*'
ユースケースの正しい呼び出しです。