sed是一种流编编器,它是文本处理中非常中的工具,能够完美的配合正则表达式便用,功物能不同凡响。详细的功能网上很多,这里就不多说了,项目中我要批量替换静态文件的一个域名具体操作如下:
命令如下:
sed -i "s/原字符串/新字符串/g" `grep 原字符串 -rl 所在目录`
例如:我要把 www.maixianwei.cn 替换为 cdn.maxianwei.cn,执行命令:
sed -i "s/www.maxianwei.cn/cnd.maxianwei.cn/g" `grep www.maxianwei.cn -rl /www`
-i 表示inplace edit,就地修改文件
-r 表示搜索子目录
-l 表示输出匹配的文件名
修改前,要注意备份文件。
如果文件太多 可以分批进行 比如:
[root@localhost html]# sed -i “s/maxianwei.cn\/upload/maxianwei.c\/upload/g” `grep admin.maxianwei.cn -rl ./12*.html`