linux下替换文件夹下的所有文件的字符串

时间:2022-04-14 09:56:36

我的总结是:vim里的替换只能替换当前编辑的文件,要想替换整个文件夹以及子文件夹就得用到shell了.  


单个文件中查找替换很简单,就不说了。文件夹下所有文件中字符串的查找替换就要记忆了,最近部署几十台linux服务器,记录下总结。

   
    查找文件夹下包含字符串的文件
   
    例:查找/usr/local目录下所有包含“rubyer.me”的文件。
   
    1 grep -lr 'rubyer.me' /usr/local/*
   
    vim替换单个文件中所有字符串方法
   
    例:替换当前文件中所有old为new
   
    1 :%s/old/new/g
   
    2
   
    #%表示替换说有行,g表示替换一行中所有匹配点。
   
    替换文件夹下包含字符串的文件
   
    sed结合grep
   
    例:要将目录/www下面所有文件中的zhangsan都修改成lisi,这样做:
   
    1 sed -i “s/old/new/g” `grep old -rl /www`