码迷,mamicode.com
首页 > 系统相关 > 详细

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

时间:2015-01-04 22:59:29      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:

转载:http://blog.csdn.net/kauu/article/details/1757325

 

一、linux sed 批量替换多个文件中的字符串

sed -i "s/oldstring/newstring/g" `grep oldstring -rl yourdir`

例如:替换/home下所有文件中的www.bcak.com.cn为bcak.com.cn

sed -i "s/www.bcak.com.cn/bcak.com.cn/g" `grep www.bcak.com.cn -rl /home`

其中:r 表示递归查找

       l 表示列出所有含有的文件

二、下面这条命令:
perl -pi -e ‘s|ABCD|Linux|g‘ `find ./ -type f`
将调用perl执行一条替换命令,把find命令找到的所有文件内容中的ABCD替换为Linux

find ./ -type f
此命令是显示当前目录下所有的文件

上面的“s|ABCD|Linux| g”是perl要执行的脚本,即把所有ABCD替换为Linux
如果不写最后的那个g,“s|ABCD|Linux| ”将只替换每一行开头的ABCD 

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

标签:

原文地址:http://www.cnblogs.com/zhujudah/p/4202364.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!