`
younglibin
  • 浏览: 1193382 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

linux下批量替换文件

阅读更多

替换任意字符:

 

sed  "s/<Client-Inactivity-Timeout>.*<\/Client-Inactivity-Timeout>/<Client-Inactivity-Timeout>99<\/Client-Inactivity-Timeout>/g" agent.xml.15 > 1

agent.xml.15 中 <Client-Inactivity-Timeout>.*<\/Client-Inactivity-Timeout>  替换为: <Client-Inactivity-Timeout>99<\/Client-Inactivity-Timeout>  并将结果文件输出到 1 中;

如果实在被文件中修改: 

sed  -i  "s/<Client-Inactivity-Timeout>.*<\/Client-Inactivity-Timeout>/<Client-Inactivity-Timeout>99<\/Client-Inactivity-Timeout>/g" agent.xml.15

 

其中  .*  代表 任意字符无限次出现:

. : 表示 任意字符

* : 表示出现无限次

 

如果只写*  的话,是没有任何含义的

 

linux下批量替换文件内容

1、网络上现成的资料

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

 

  linux sed 批量替换多个文件中的字符串

 

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

 

  例如:替换/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出多个文件名而已

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics