Как найти конкретную строку в файле.c, используя perl api (Scitools) Understand?

Я пытаюсь проанализировать кодовую базу (много файлов.c), написав скрипт на Perl с использованием (Scitools) Understand Perl API.

Мне известно, что список переменных, функций и т. Д. Легко получить для данного файла.c.

Возможно, кто-то, кто работал с Understand Perl API, мог указать мне правильное направление для поиска конкретной строки, которая присутствует во многих строках файла? а можно вернуть номер строки?

1 ответ

Похоже, вы просто хотите

  use Understand qw( );

  my $db = Understand::open("test.udb");

  # Find all 'File' entities that match test*.cpp
  for my $file_ent ($db->lookup("test*.cpp","File")) {
       my $file_contents = $file_ent->contents();
       printf "File %s matches", $file_ent->name
          if $file_contents =~ /pattern/;
  }
Другие вопросы по тегам