sed的一个用途就是将文件中的某个字符串换替换掉,而且不需要将文件打开。这样比较方便的是,如果有多个文件要替换,一个个打开就非常麻烦了,这是只需要一个命令行就解决问题。
比如我最近碰到一个实际问题,就是要将网页中的指向备案的网址从原来的http://www.miitbeian.gov.cn改为https://www.beian.miit.gov.cn,由于我要修改当前目录下所有的html文件,于是使用下面的命令搞定。
sed -i "s/http:\/\/www.miitbeian.gov.cn/https:\/\/www.beian.miit.gov.cn/g" *.html
如果想要替换当前目录下所有文件中的某个字符串,那就要借助grep,
sed -i "s/http:\/\/www.miitbeian.gov.cn/https:\/\/www.beian.miit.gov.cn/g" `grep "hello" -rl ./`
请在替换之前要做个备份,文件损坏不赔,特此申明!