在magento路由位于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
。)
答案2
我的一种方法是过滤所有与routes.xml
名称匹配并包含所需 wotd 的文件,然后使用 grep 进一步过滤 find 的结果:
find ./vendor -name routes.xml -exec grep "sales" {} + | grep adminhtml
然后您可以使用 IDE 打开该文件并进一步编辑/分析它。