有个需求,前端的dist.zip包,里面的配置文件要修改里面的配置从测试环境改为线上环境的地址,简单的方法就是把zip解压出来,使用sed替换里面的内容,或者用文件覆盖,但是如果zip文件比较大的话,解压出来时间就比较久,所以研究到使用zip可以实现,方法如下:

1、先将zip文件里面的文件删除

zip -d dist-etc.zip dist-etc/config/global.config.js

2、再将外面的文件更新到zip文件里面

zip -u dist-etc.zip dist-etc/config/global.config.js

使用

zip -m dist-etc.zip dist-etc/config/global.config.js

也可以,但是-m是把文件直接移走了,这样不符合我的需求

这里需要注意的是里面外面的路径要一样,不一样的我折腾了好久好像还不行,另外这个只能针对文件,目录也不行