find を使用してマゼントモジュールを検索する

find を使用してマゼントモジュールを検索する

マゼントルーティングにはadminhtml/routes.xml各モジュールにadminhtmlファイル名の付いたフォルダがあり、routes.xml各モジュールには独自のフォルダがあります。つまり、次のようなファイル構造を持ちます。

vendor
+ MyModule
++ etc
+++ adminhtml
++++ routes.xml
+ AnotherModule
++ etc
+++ adminhtml
++++ routes.xml
....

vendorディレクトリをスキャンして、どのファイルパスに特定の単語route.xmlがあるかを確認したいと思います。

$ find ./vendor -name adminhtml\/routes.xml -exec grep "sales" {} + 

しかし、何の価値も得られず、次の警告も表示されます。

find: warning: ‘-name’ matches against basenames only, but the given pattern contains a directory separator (‘/’), thus the expression will evaluate to false all the time.  Did you mean ‘-wholename’?

特定のフォルダパターンに特定の単語を含むファイルを見つける方法は?

ベストアンサー1

あなたは以下を行う必要があります-path

find ./vendor -path '*/adminhtml/routes.xml' -exec grep "sales" {} + 

(おそらく-type fというディレクトリがある可能性はほとんどありませんroutes.xml。)

おすすめ記事