마젠토 라우팅에는 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를 사용하여 파일을 열고 추가로 편집/분석할 수 있습니다.