使用sed批量修改文件

下午的时候遇到一个烦事,需要将一些html中的图片由png改为gif。大约有20来个,如果一个一个改的话,真是有些烦人。该自动化的都应该让他自动化。

在思考如何脚本化这个问题的时候,我想到这个需求有一个关键点是:需要修改原文件,而不是在管道中传递。请教Google大神之后,再man sed一下,答案出来了。

1,使用sed的打印功能,在执行替换前检查一下

$sed -n '/.png/p'  c*.htm

 

2,没有问题的话,执行替换

$sed -i  's/.png/.gif/'  c*.htm

 

3,如果你在执行替换前想做一个备份(在原文件之后加.bak扩展名)

$sed -i.bak 's/.png/.gif/' c2.htm

 

使用Evernote之后,我的很多即时性的小脚本都可以记录下来了。这相当于一个缓冲区,先存在缓冲区中之后再将其Blog出来。

以后,会有很多小篇幅的Blog,来记录这些随手使用的小脚本。

 

posted @ 2011-03-15 22:20  Jerry Chou  阅读(841)  评论(0编辑  收藏  举报