Linux查找和替换目录下所有文件中字符串
单个文件中查找替换很简单,就不说了。文件夹下所有文件中字符串的查找替换就要记忆了,最近部署几十台linux服务器,记录下总结。
查找文件夹下包含字符串的文件
例:查找/usr/local目录下所有包含”rubyer.me”的文件。
grep -lr 'rubyer.me' /usr/local/*
vim替换单个文件中所有字符串方法
例:替换当前文件中所有old为new
:%s/old/new/g
%表示替换说有行,g表示替换一行中所有匹配点。
替换文件夹下包含字符串的文件
sed结合grep
例:要将目录/www下面所有文件中的old都修改成new,这样做:
sed -i "s/old/new/g" `grep old -rl /www`
]]>去掉一个文件的bom头:
sed -i 's/^\xEF\xBB\xBF//g' a.txt
扫描当前目录有bom的文件:
grep -r -I -l $'^\xEF\xBB\xBF' ./
去掉当前目录下所有文件的bom:
grep -r -I -l $'^\xEF\xBB\xBF' ./ | xargs sed -i 's/^\xEF\xBB\xBF//g'
写到svn的hook脚本里即可, 不要问我怎么写哦, 百度吧.
]]>