利用sed批量替换一批文件
1,998 Views『作者:RickyZhu 转载务必注明出处和作者』
Tag:programming
在需要对一个文件进行替换的时候,利用sed这个工具非常有用,比如
sed ’s/abc/efg/g’ file
今天遇到一目录的文件需要批量进行替换,这样就比较麻烦了。以前还没有这样做过。man了一下sed的帮助,又从网上查找了一下,发现了一个比较好的解决方案,用参数-in-place。
在Linux平台上,利用如下命令即可达成:
sed -in-place -e ’s/abc/cba/g’ *
不过好像Solaris平台不支持-in-place这个参数,只能用一个小小的程序实现了。
for f in `ls *.html`
do
cat $f | sed s#/style.css#/blog/styles_zh-cn.css#g > tmp.txt
mv -f tmp.txt $f
done
本文参考了车东的一片帖子

也可以用find 命令。传说UNIX 的精髓就在于一堆的小命令干大事
find *.html -exec sed -e ’s/abc/efg/g’ {} \;
对的,怎么一紧张连这个都忘记了,呵呵,不过你说的对,UNIX的精髓就在于一大堆组合起来能干大事的小命令。