用sed替换文件中的内容

2004-09-07

P>看到有人用 sed 工具批量替换文件中的内容:

cat error.h | sed -e s/^extern int errno;/#include / > error.h

于是仿照这个用法,来做我的处理。

我的CVS从winnt平台迁移到了linux下面了,原来的文件夹名是大小写不敏感的,现在需要注意了,这不, 出问题了:)

我的模块名原来是webmail_admin, 而在CVS仓库中该文件夹的名字是Webmail_admin, 在winnt下使用没有问题, 但是到了linux下之后, 问题就来了, 找不到仓库了.

于是我要批量讲每一个目录里面的 CVS 目录里的Repository文件修改一下,这个文件记录了当前目录在仓库里的位置,都是 webmail_admin.

# cat changerepository.sh
#!/bin/sh
cat $1 | sed -e s/^webmail_admin/Webmail_admin/ > $1

然后使用 find 命令, 查找和替换:

find . -type f -name Repository -exec ./changerepository.sh {} ;

搞定!

Trackback:
http://tb.blog.csdn.net/TrackBack.aspx?PostId=97156