bash grep поиск деклараций Java - PullRequest
0 голосов
/ 21 мая 2010

У меня есть огромный файл .java, и я хочу найти все объявленные объекты с именем className. я думаю, что декларация всегда будет иметь следующую подпись:

className objName;

или

className objName =

или

className objName =

Может кто-нибудь предложить мне шаблон grep, который найдет эти подписи. У меня есть следующее (неполное):

    cat $rootFile | grep "$className " 

ПРИМЕР:

Если входной файл:

Policy pol1;
Policy pol2 ;
Policy   pol3  ;
Policy pol4=new Policy();
Policy pol5 = new Policy();
Policy pol6= new Policy();

Я хочу извлечь следующий список:

pol1
pol2
pol3
pol4
pol5
pol6

1 Ответ

3 голосов
/ 21 мая 2010

Вероятно, Perl может помочь здесь

cat $rootFilename | perl -pe 's/Policy[ \t]+([a-zA-Z0-9_]+)[ \t]*[;=].*/\1/g'

Используя sed, можно сделать также

sed -e 's/Policy[ \t]\+\([a-zA-Z0-9_]\+\)[ \t]*[;=].*/\1/g' $rootFilename
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...