批量更改多个文件内容

需要修改多个文件的内容,一个一个的替换比较繁琐。那么有没有什么好的方法直接多多个文件进行批量修改呢?方法如下:

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

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:2   其中:访客  2   博主  0

  1. aiplaypc 0

    批量更新不多的文件还行,如果遇到上万个文件批量更新就不行了,会列表溢出吧,就应该用循环来解决了

    • 默北 5

      @aiplaypc 情况多种多样,点明白了,面就清晰了