有一种方法可以使用bash脚本从文件中删除/*
和*/
之间的所有行吗?
我使用 percona 生成一个sql脚本来同步两个数据库,一个开发一个到生产数据库。 Percona 会生成格式正确的SQL脚本,但会增加注释,从而增加文件大小。因此,为了使上传操作更容易,我宁愿删除所有不必要的内容。
1月10日编辑
我用这段代码解决了:
sed -r ':a; s%(.*)/\*.*\*/%\1%; ta; /\/\*/ !b; N; ba' <FILE_TO_CLEAN>
感谢所有
答案 0 :(得分:3)
使用sed
:
sed '/\/\*.*\*\// d; /\/\*/,/\*\// d' file
命令d
告诉sed删除与前面的表达式匹配的模式。第一个表达式/\/\*.*\*\//
匹配单行注释,第二个表达式/\/\*/,/\*\//
注释多行(这是,
隐含的)。
我不知道这是否100%有效,但据我所知,它完成了这项工作。
答案 1 :(得分:0)
-Try this script-它应该有助于删除评论,因为与C ++ Here相同,您可以看到另一个用于删除HTML评论的sed示例