[英]Remove block-comments from a file with a bash script
有一种方法可以使用bash脚本从文件中删除/*
和*/
之间的所有行?
我使用percona生成一个sql脚本来同步两个数据库,一个开发数据库到一个生产数据库。 Percona生成格式正确的SQL脚本,但充满注释,从而增加了文件大小。 因此,为了简化上传操作,我希望删除所有不必要的内容。
1月10日编辑
我用以下代码解决了:
sed -r ':a; s%(.*)/\*.*\*/%\1%; ta; /\/\*/ !b; N; ba' <FILE_TO_CLEAN>
谢谢大家
使用sed
:
sed '/\/\*.*\*\// d; /\/\*/,/\*\// d' file
命令d
告诉sed删除与前面的表达式匹配的模式。 第一个表达式/\\/\\*.*\\*\\//
匹配单行注释,第二个表达式/\\/\\*/,/\\*\\//
注释多行(由,
隐含) 。
我不知道这是否100%有效,但据我尝试,它确实起作用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.