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

Mar*_*nni 3 bash percona

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

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

1月10日编辑

我用这个代码解决了:

sed -r ':a; s%(.*)/\*.*\*/%\1%; ta; /\/\*/ !b; N; ba' <FILE_TO_CLEAN>
Run Code Online (Sandbox Code Playgroud)

谢谢大家

J. *_*kel 6

使用sed

sed '/\/\*.*\*\// d; /\/\*/,/\*\// d' file
Run Code Online (Sandbox Code Playgroud)

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

我不知道这是否 100% 有效,但据我尝试,它完成了工作。