现在的位置: 首页 > 综合 > 正文

linux — 批量替换多个文件中的某个字符串

2013年06月27日 ⁄ 综合 ⁄ 共 516字 ⁄ 字号 评论关闭

在linux的日常服务器维护站点维护中,经常需要批量操作一部分文件,比如数据库用户的资料变更,那么所以相关站点的数据库配置文件要相应的修改。大家都知道,linux下面几乎所有的配置文件都是纯粹的文本文件,所以这其实就是一个基本的文本操作。一台服务器上有上百个甚至上千个的网站。如果我们一个个来修改不是不可以,但是那也实在太恐怖而且太脑残了。

 

那如何实现呢,比如我要批量修改50个用magento架设的网店系统的配置文件:

 

 

cd /path/to/webroot
for y in `ls */app/etc/local.xml`;
do sed "s/source_sting/target_stinrg/g" $y > temp; mv temp $y;
done

 

或者是多个wordpress架设的blog网站的配置文件

 

cd /path/to/webroot
for y in `ls */wp-config.php`;
do sed "s/source_sting/target_stinrg/g" $y > temp; mv temp $y;
done

zen cart也就不用写了。只不过要注意的是,如果要替换的字符串中包含特殊字符,如你要替换的是一个路径,OK,路径分隔符要特殊处理。

抱歉!评论已关闭.