2016-09-29 4 views
0

これは何ですか、なぜこれが名前に「アイデア」を持つファイルをリストしていないのですか?私の `find`コマンドが動作しないのはなぜですか?

find . -name "*idea*" -exec echo aaa {} \; 

-nameなし::

/Applications/WebStorm.app/Contents$ find . "*idea*" -exec echo aaa {} \; | head 
aaa . 
aaa ./_CodeSignature 
aaa ./_CodeSignature/CodeResources 
aaa ./bin 
aaa ./bin/fsnotifier 
aaa ./bin/idea.properties 
aaa ./bin/inspect.sh 
aaa ./bin/libbreakgen.dylib 
aaa ./bin/libbreakgen.jnilib 
aaa ./bin/libbreakgen64.dylib 
find: *idea*: No such file or directory 

答えて

3

あなたは-nameテスト不足している

find . "*idea*" -exec echo aaa {} \; 

は、現在のディレクトリ(.)、およびファイルに対して、すべてのファイル/ディレクトリを-ing findです/現在のディレクトリ内の*idea*と一致するディレクトリを再帰的に検索します。恐らく、ideaという名前のファイル/ディレクトリが現在のディレクトリに存在しないので、*idea*に関するエラーです。あなたはファイルのみを探しているなら、サイドノートとして


-type fを追加します。

find . -name "*idea*" -type f -exec echo aaa {} \; 
+0

正確です。私は私の質問に同時に答えました。 Upvoted。ありがとう。 –

+0

だからこそ私はupvoted :-)それも私を可能にします。 –

0

は愚かな私、私は-nameパラメータを忘れてしまいました。このコマンドは、(存在しない)"*idea*"フォルダのすべてのコンテキストに続いて、.フォルダのすべてのコンテンツを一覧表示します。

関連する問題