批量替换多个文件中的字符串

以替换google在线字体为国内CDN镜像为例:

1、使用find,sed以及grep

1
$ sed -i 's/fonts.googleapis/fonts.useso/g' `find . | xargs grep -rl 'fonts.googleapis'`

2、使用find和perl

1
$ find . | xargs perl -pi -e 's/fonts.googleapis/fonts.useso/g'

或者

1
$ perl -pi -e 's/fonts.googleapis/fonts.useso/g' `find .`

3、不使用find也行

1
$ grep -rl oldString path | xargs sed -i 's/oldString/newString/g'

或者

1
$ sed -i 's/oldString/newString/g' `grep -rl oldString path`