http://www.51testing.com/html/93/316693-815340.html
程序开发中,可能你会经常遇到批量替换文件内容的情况,如果你使用的是linux,那么恭喜你,你可以使用一下三种办法进行查找替换。
方法一: find -name 'file.log' | xargs perl -pi -e 's|string1|string2|g' 这里使用了perl语言,使用-e加上一段代码,从而批量地将当前目录及所有子目录下的file.log文件中的string1替换成了string2 string支持正则表达式 方法二: sed -i "s/string1/string2/g" 'grep string1 -rl /path' 这里使用了sed命令,将/path目录及其子目录下的所有文件中的string1替换成了string2 这个命令,可能对返回多个文件不太支持,不太推荐! 方法三: grep -i "string1" -r /path | awk -F : '{print $1}' | sort | uniq | xargs sed -i 's/string1/string2/g' 这里使用了shell命令,先查找出文件,再用awk分割(以:切分),再行替换! 注意: grep可以使用正则,也可以使用\转义一些特殊字符,比如“等 sed -i 's/\"localhost\"/\"10.2.2.2\"/g' /home/my.conf