转:Linux查找和替换目录下所有文件中字符串


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

例:查找/usr/local目录下所有包含”rubyer.me”的文件。

grep -lr 'rubyer.me' /usr/local/*

vim替换单个文件中所有字符串方法
例:替换当前文件中所有old为new

:%s/old/new/g

#%表示替换说有行,g表示替换一行中所有匹配点。
替换文件夹下包含字符串的文件
sed结合grep
例:要将目录/www下面所有文件中的zhangsan都修改成lisi,这样做:

sed -i "s/old/new/g" `grep old -rl /www`

Archives