在linux中sed是一个在线编辑器了,它可以一次处理一行内容了,下面我们有一个问题就是要一次处理多个文件的内容了,下面我总结两种方法供各位参考.
需要修改多个文件的内容,一个一个的替换比较繁琐,那么有没有什么好的方法直接多多个文件进行批量修改呢?方法如下:
1.perl
perl -pi -e ‘s|old_string|new_string|g’ `find ./ -type f`
//如:
perl -pi -e ‘s|ISO-8859-1|UTF-8|g’ `find ./ -type f`
2.sed
grep old_string -rl ./* | xargs sed -i “s/old_string/new_string/g”
sed -i “s/old_string/new_string/g” `grep old_string -rl ./*`
如:
sed -i “s/11/xxx/g” `grep 11 -rl ./*` //phpfensi.com
grep xxxx -rl ./* | xargs sed -i “s/x/asdfadsfasdfafd/g”。