使用bash脚本从文件中删除块注释

使用bash脚本从文件中删除块注释,bash,percona,Bash,Percona,有一种方法可以使用bash脚本从文件中删除在/*和*/之间包装的所有行吗 我使用percona生成一个sql脚本来同步两个数据库,一个是开发数据库,一个是生产数据库Percona生成格式良好的SQL脚本,但充满注释,这会增加文件大小。所以,为了简化上传操作,我宁愿删除所有不必要的内容 1月10日编辑 我用这个密码解决了: sed -r ':a; s%(.*)/\*.*\*/%\1%; ta; /\/\*/ !b; N; ba' <FILE_TO_CLEAN> sed-r:a;s%(

有一种方法可以使用bash脚本从文件中删除在
/*
*/
之间包装的所有行吗

我使用percona生成一个sql脚本来同步两个数据库,一个是开发数据库,一个是生产数据库Percona生成格式良好的SQL脚本,但充满注释,这会增加文件大小。所以,为了简化上传操作,我宁愿删除所有不必要的内容

1月10日编辑

我用这个密码解决了:

sed -r ':a; s%(.*)/\*.*\*/%\1%; ta; /\/\*/ !b; N; ba' <FILE_TO_CLEAN>
sed-r:a;s%(.*)/\*.\*/%\1%;ta;/\/\*/!BN学士学位

谢谢所有的

< P> >它应该有助于删除注释,因为与C++相同,你可以看到另一个SED示例来删除HTML注释

使用<代码> SED:

sed '/\/\*.*\*\// d; /\/\*/,/\*\// d' file
命令
d
告诉sed删除与前面表达式匹配的模式。第一个表达式
/\/\*.\*/
匹配一行注释,第二个表达式
/\/\*/,/\*/
匹配多行注释(这由
表示)


我不知道这是否100%有效,但据我所知,它完成了任务。

此命令仅指以注释开头的行,或者即使注释位于另一行的末尾也有效?我用完成的脚本重新编辑了问题,解决了问题。谢谢