固定目录下所有文件(包括子目录下的文件),进行字符串替换
#!bin/bash
dir="/home/tcop/test/findstr"
function traver_dir(){
for result in `ls $1`
do
dir_or_file=$1"/"$result
if [ -d $dir_or_file ] #是目录的话递归遍历
then
traver_dir $dir_or_file $2 $3
else #是文件的话替换文件中的字符串
sed -i "s/$2/$3/g" $dir_or_file 2>/dev/null
fi
done
}
traver_dir $dir $1 $2
将代码保存到replace.sh文件中
运行:sh replace.sh oldstring newstring
oldstring为要替换的字符串,newstring为替换后的字符串
部分代码借鉴他人