Да, все возможно с TYPO3 и во многих отношениях. Как вложены элементы содержимого? От родителей к детям (темплавоила) или от детей к родителю (жених)?
find DIRECTORY -name "*.py" | xargs grep PATTERN
Между прочим, с тех пор, как я писал это, я обнаружил ack , что является гораздо лучшим решением.
(И после этого редактирования я обнаружил ag) .
Я настоятельно рекомендую ack , замену grep, «предназначенную для программистов с большими деревьями разнородного исходного кода» (с веб-сайта)
find <directory> -name '*.py' -exec grep <pattern> {} \;
В наши дни я также много использую ack. Я немного подправил его, чтобы найти все соответствующие типы файлов:
# Add zcml to the xml type:
--type-add
xml=.zcml
# Add more files the plone type:
--type-add
plone=.dtml,.zpt,.kss,.vpy,.props
# buildout config files
--type-set
buildout=.cfg
# Include our page templates to the html type so we can limit our search:
--type-add
html=.pt,.zpt
# Create txt file type:
--type-set
txt=.txt,.rst
# Define i18n file types:
--type-set
i18n=.pot,.po
# More options
--follow
--ignore-case
--nogroup
Важно помнить, что ack не найдет файлы, если расширение отсутствует в его конфигурации. См. "Ack --help-types" для всех доступных типов.
Я также предполагаю, что вы используете omelette , чтобы вы могли grep / ack / найти все связанные файлы?
Также есть GNU idutils , если вы хотите очень быстро найти идентификаторы в большом дереве исходного кода. Для этого необходимо заранее создать базу данных поиска, запустив mkid (и настроив его конфигурационный файл, чтобы он не игнорировал файлы .py). z3c.recipe.tag позаботится об этом, если вы используете buildout.