Как удалить все комментарии (одна строка -) из кода - PullRequest
1 голос
/ 17 января 2011

Мы имеем дело с длинными текстами кода на PL / SQL и часто обнаруживаем, что объем кода увеличился только из-за ненужных комментариев. Большинство из них являются комментариями в стиле одной строки.

Как мне написать скрипт, который удалит все такие строки комментариев из кода?

Например: Оригинальный код:

DECLARE
   a  date := 0;
   -- NHT20302939 Dt 22.09.2009 Start
   b  VARCHAR2(1)  := 'N';
   -- NHT20302939 Dt 22.09.2009 End'
BEGIN
   -- NHT20302939 Dt 22.09.2009 Start
   a = GET_DATE();
   -- NHT20302939 Dt 22.09.2009 End
   if a > '22-MAR-2010' THEN
     -- NHT20302939 Dt 22.09.2009 Start
     Null;
     -- NHT20302939 Dt 22.09.2009 End
   else
      if myschema.PROCEDURE(b,
                        a) = FALSE THEN
     raise form_trigger_failure
   end if;
 end if;
END;

Желаемый код:

  DECLARE
    a  date := 0;
    b  VARCHAR2(1)  := 'N';
  BEGIN
     a = GET_DATE();
     if a > '22-MAR-2010' THEN
        Null;
     else
        if myschema.PROCEDURE(b,
                              a) = FALSE THEN
           raise form_trigger_failure
        end if;
     end if;
  END;

Спасибо заранее ... Суддха Сатта Рэй

Ответы [ 2 ]

0 голосов
/ 17 января 2011

Для хранимых пакетов, процедур и т. Д. Вы можете получить незакомментированный источник, подобный этому:

select text
from   user_source
where  name = 'MYPACKAGE'
and    type = 'PACKAGE BODY'
and    ltrim(text) not like '--%'
order by line;
0 голосов
/ 17 января 2011

Попробуйте это для встроенного редактирования файла:

sed -e '/^\s*--.\+/d' -i yourFile.txt

Не забудьте сделать резервную копию всех файлов раньше!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...