批量修改文件内容

337 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

前言

最近由于安全原因,公司修改了内网 git 的域名地址,说是这周五要关闭原域名。

这也就意味着,之前所有的项目都需要修改 git 远端的地址。


一、git 远端地址修改

网上看了下,可以通过修改本地项目代码目录下面的.git/config文件里的url,完成 git 远端地址的更新。看着这将近两个 G 的文件夹,我陷入了沉思。这么多项目,少说也得花 1 -2 个小时才能完成吧?

二、shell 脚本

1.find 命令

考虑到文件名都是 config,考虑通过 find 命令将所有文件找出来

find . -name config

在当前目录下寻找 config 的文件(目录)

因为目录命名时免不了 config ,于是加以优化,找到命名为 config 的文件,过滤掉目录 

find . -name config -type f

2.sed 命令

实现文件内字符串的替换

sed -i 's/old_str/new_str/' ./config

3.结果

一行脚本即可搞定,当然不放心的话最好还是备份下

sed -i 's/old_str/new_str/' `find . -name config -type f`


总结

开发过程中遇到的一些问题,完全可以通过脚本工具实现,方便,实用性强,复用性高。

个人感觉程序员应该不断提高自己写脚本的能力。

另外如果感觉学习写 shell 脚本有困难,可以试一下 python,后续有机会也会产出 python 版本