linux下批量替换文件内容

1、网络上现成的资料

  格式: sed -i "s/查找字段/替换字段/g" `grep 查找字段 -rl 路径`

  linux sed 批量替换多个文件中的字符串 (此命令很强大)

     sed -i "s/oldstring/newstring/g"  `grep oldstring -rl yourdir`

     解释一下:

     -i  表示 inplace edit,就地修改文件

     -r 表示recursive ,搜索子目录

     -l 表示line number,输出匹配的文件名

 

  例如:替换/home下所有文件中的www.admin99.net为admin99.net

  sed -i "s/www.admin99.net/admin99.net/g" `grep www.admin99.net -rl /home`

  exp:sed -i "s/shabi/$/g" `grep shabi -rl ./`

 

2、自己额外附加

  2.1 将文件1.txt内的文字“garden”替换成“mirGarden”

  # sed -i "s/garden/mirGarden/g" 1.txt   //sed -i 很简单

 

  2.2 将当前目录下的所有文件内的“garden”替换成“mirGarden”

  ## sed -i "s/garden/mirGarden/g" `ls` //其实也就是ls出多个文件名而已

 

 

 

转自:http://www.cnblogs.com/end/archive/2012/05/24/2517131.html

posted @ 2014-10-14 13:29  阳光温暖了心情  阅读(3008)  评论(0编辑  收藏  举报