Как я могу удалить многострочный комментарий из кода, используя Sed и Regex - PullRequest
0 голосов
/ 28 ноября 2018

Я пытаюсь удалить многострочный комментарий и однострочный комментарий из файла, используя sed.Мой файл выглядит так:

<#
Comment Block Data
Comment Block Data
#>
If (a= Example)
#
Comment Data
#
If (b= Example)

Я хочу следующий результат.

If (a= Example)
If (b= Example)

Я успешно удалил # комментариев, но не могу удалить <# #> комментарии из файла.Есть ли способ удалить все вместе с помощью регулярных выражений?

Это скрипт PowerShell.

Для удаления '#' строк я использовал следующее регулярное выражение: "/^[[:blank:]]*#/d;s/#.*//"

1 Ответ

0 голосов
/ 28 ноября 2018

Этот sed oneliner работает для примера, который вы привели:

 sed '/^<#/,/^#>/d;/^#$/,/^#$/d' file

Ну, может быть много возможностей разбить строку выше, например, не спаренный <# or # и так далее.Поэтому вам следует дважды проверить исходные файлы после выполнения строки.

Вы можете добавить -i (gnu sed), чтобы сохранить изменения в вашем файле.

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