- A+
所属分类:Linux命令
需要修改多个文件的内容,一个一个的替换比较繁琐。那么有没有什么好的方法直接多多个文件进行批量修改呢?方法如下:
1. 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 ./*
grep xxxx -rl ./* | xargs sed -i "s/x/asdfadsfasdfafd/g"
2. 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

微信公众号
扫一扫关注运维生存时间公众号,获取最新技术文章~
11/09/2015 上午 10:01 沙发
批量更新不多的文件还行,如果遇到上万个文件批量更新就不行了,会列表溢出吧,就应该用循环来解决了
11/09/2015 上午 11:25 1层
@aiplaypc 情况多种多样,点明白了,面就清晰了