Shell脚本实现批量替换文件内容

今天同事发现内部服务器的硬盘空间不够了,上面有很多备份,我又不能删除,重新找了个320g的硬盘挂载了上,想以后shell脚本下的备份都转移到新硬盘上,给老硬盘腾出空间来,原备份路径是/data/onlinesqlbak/,新备份路径是/disk2/onlinesqlbak/,我find了下备份shell脚本,这一找吓死个人,最少都有10-20个备份shell要改,谁叫我是懒人想一下搞定完,好了来看我的解决办法吧.

系统:centos 5.x

1.先确认有那些脚本要改

复制代码 代码如下:

find ~/soft_shell/ -name "*"|xargs grep "/data/onlinesqlbak/"

2.替换脚本里的内容
复制代码 代码如下:

find ~/soft_shell/ -type f -path "*.sh"|xargs sed -i 's:/data/onlinesqlbak/:/disk2/onlinesqlbak/:g'

3.验证
复制代码 代码如下:

find ~/soft_shell/ -name "*"|xargs grep "/disk2/onlinesqlbak/"

好了,很快的就搞定了很头大的问题。