我正在尝试使用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/#.*//"
答案 0 :(得分:0)
此sed oneliner适用于您提供的示例:
sed '/^<#/,/^#>/d;/^#$/,/^#$/d' file
好吧,可能有很多打破上面这一行的可能性,例如未配对<# or #
等。因此,在执行该行之后,您应该仔细检查您的源文件。
您可以添加-i
(gnu sed)以将更改保存到文件中。