shell脚本中调用vim 替换指定路径下文件中的字符串

#作者:zxx
#日期:2012.04.19
#功能描述:在FIND_PATH路径下所有名为FILE_NAME的文件内容中,将SOURCE串替换为DEST串
#比如下例:将/home/zxx/文档/1路径下所有名为makefile的文件,凡是文件内容中含有-Werror的,都替换为空

#---------------------下面是你可以修改的参数------------------
#替换的文件都在这个路径下面
FIND_PATH="/home/zxx/文档/1"
#替换的文件,替换所有文件指定为""
FILE_NAME="makefile"
#要替换的串
SOURCE=" -WERROR "
#目的串
DEST=""
#--------------------上面是你可以修改的参数--------------------

makefilepath=$(find $FIND_PATH -name $FILE_NAME)
for way in $makefilepath
do
echo $way
#-!代表下面内容是输入,而不从键盘输入
vim -e $way<<-!
#要注意下面的$前面要加上\,否则会被解析为变量
:1,\$s/$SOURCE/$DEST/g
:wq
!
done


将上述文件保存为replace.sh

然后再linux终端输入 sh replace.sh即可替换



你可能感兴趣的:(shell脚本中调用vim 替换指定路径下文件中的字符串)