3对符合条件的文件和文件夹进行复制或修改
2016-06-16 10:35
786 查看
echo '#!/bin/bash' > cc.sh
echo 'BASE_VERSION=`pwd`' >> cc.sh
echo 'cd $BASE_VERSION' >> cc.sh
echo"echo \"************************************start to customize folder**************************************\"" >> cc.sh
while readline
do
echo "echo \"customize>>>>>>>>>>>>>$line\"" >> cc.sh
dest=`echo $line | sed s/$OLD_PROJECT/$NEW_PROJECT/g` //----------------把$OLD_PROJECT替换成$NEW_PROJECT
echo "cp -rvf $line $dest">> cc.sh //-------------把老目标拷贝一份新目标
sed -i s:$line:$dest:g files.txt //---------------把files文件里面保存的符合条件的也替换掉
done <folder.txt
echo "echo "customize folder end"" >> cc.sh
echo "echo \"**************************************start to customizefiles **************************************\"" >> cc.sh
while readline
do
echo "echo \"customize>>>>>>>>>>>>>>$line\"" >> cc.sh
flag_old=`echo $line | grep $OLD_PROJECT`
flag_new=`echo $line | grep $NEW_PROJECT`
if [ "$flag_old" != ""-a "$flag_new" != "" ];then //--------如果满足条件的行中有老项目名和新项目名
file_name=`echo $line | grep full_$OLD_PROJECT`
if [ "$file_name" !="" ];then
dest=`echo $line | seds/full_$OLD_PROJECT/$NEW_PROJECT/g`
else
dest=`echo $line | seds/$OLD_PROJECT/$NEW_PROJECT/g` //替换新项目作为目标
fi
echo "mv $line $dest">> cc.sh //直接把旧目标替换为新目标
echo "sed -i s/full_$OLD_PROJECT/$NEW_PROJECT/g $dest" >> cc.sh
echo "sed -i s/$OLD_PROJECT/$NEW_PROJECT/g $dest" >> cc.sh //------------在新目标文件中替换新目标字符
fi
if [ "$flag_old" = "" -a "$flag_new" != "" ];then //-------a的意义在于且,如果旧目标不在,新目标存在
echo "sed -i s/full_$OLD_PROJECT/$NEW_PROJECT/g $line" >> cc.sh
echo "sed -i s/$OLD_PROJECT/$NEW_PROJECT/g $line" >> cc.sh //直接替换行长那个的旧为新目标
fi
if [ "$flag_old" != ""-a "$flag_new" = "" ];then //----------------如果就在,新不在
file_name=`echo $line | grep full_$OLD_PROJECT`
if [ "$file_name" !="" ];then
dest=`echo $line | seds/full_$OLD_PROJECT/$NEW_PROJECT/g`
else
dest=`echo $line | seds/$OLD_PROJECT/$NEW_PROJECT/g` //----------------------替换旧为新作为目标
fi
echo "cp $line $dest">> cc.sh //--------------从旧复制一份新目标
echo "sed -is/full_$OLD_PROJECT/$NEW_PROJECT/g $dest" >> cc.sh
echo "sed -is/$OLD_PROJECT/$NEW_PROJECT/g $dest" >> cc.sh //-----------替换新目标中的旧项目
fi
done <files.txt
echo"echo \"customize files end\"" >> cc.sh
bash cc.sh //--------------------执行脚本
echo 'BASE_VERSION=`pwd`' >> cc.sh
echo 'cd $BASE_VERSION' >> cc.sh
echo"echo \"************************************start to customize folder**************************************\"" >> cc.sh
while readline
do
echo "echo \"customize>>>>>>>>>>>>>$line\"" >> cc.sh
dest=`echo $line | sed s/$OLD_PROJECT/$NEW_PROJECT/g` //----------------把$OLD_PROJECT替换成$NEW_PROJECT
echo "cp -rvf $line $dest">> cc.sh //-------------把老目标拷贝一份新目标
sed -i s:$line:$dest:g files.txt //---------------把files文件里面保存的符合条件的也替换掉
done <folder.txt
echo "echo "customize folder end"" >> cc.sh
echo "echo \"**************************************start to customizefiles **************************************\"" >> cc.sh
while readline
do
echo "echo \"customize>>>>>>>>>>>>>>$line\"" >> cc.sh
flag_old=`echo $line | grep $OLD_PROJECT`
flag_new=`echo $line | grep $NEW_PROJECT`
if [ "$flag_old" != ""-a "$flag_new" != "" ];then //--------如果满足条件的行中有老项目名和新项目名
file_name=`echo $line | grep full_$OLD_PROJECT`
if [ "$file_name" !="" ];then
dest=`echo $line | seds/full_$OLD_PROJECT/$NEW_PROJECT/g`
else
dest=`echo $line | seds/$OLD_PROJECT/$NEW_PROJECT/g` //替换新项目作为目标
fi
echo "mv $line $dest">> cc.sh //直接把旧目标替换为新目标
echo "sed -i s/full_$OLD_PROJECT/$NEW_PROJECT/g $dest" >> cc.sh
echo "sed -i s/$OLD_PROJECT/$NEW_PROJECT/g $dest" >> cc.sh //------------在新目标文件中替换新目标字符
fi
if [ "$flag_old" = "" -a "$flag_new" != "" ];then //-------a的意义在于且,如果旧目标不在,新目标存在
echo "sed -i s/full_$OLD_PROJECT/$NEW_PROJECT/g $line" >> cc.sh
echo "sed -i s/$OLD_PROJECT/$NEW_PROJECT/g $line" >> cc.sh //直接替换行长那个的旧为新目标
fi
if [ "$flag_old" != ""-a "$flag_new" = "" ];then //----------------如果就在,新不在
file_name=`echo $line | grep full_$OLD_PROJECT`
if [ "$file_name" !="" ];then
dest=`echo $line | seds/full_$OLD_PROJECT/$NEW_PROJECT/g`
else
dest=`echo $line | seds/$OLD_PROJECT/$NEW_PROJECT/g` //----------------------替换旧为新作为目标
fi
echo "cp $line $dest">> cc.sh //--------------从旧复制一份新目标
echo "sed -is/full_$OLD_PROJECT/$NEW_PROJECT/g $dest" >> cc.sh
echo "sed -is/$OLD_PROJECT/$NEW_PROJECT/g $dest" >> cc.sh //-----------替换新目标中的旧项目
fi
done <files.txt
echo"echo \"customize files end\"" >> cc.sh
bash cc.sh //--------------------执行脚本
相关文章推荐
- Linux socket 初步
- Linux Kernel 4.0 RC5 发布!
- linux lsof详解
- linux 文件权限
- Linux 执行数学运算
- 10 篇对初学者和专家都有用的 Linux 命令教程
- Linux 与 Windows 对UNICODE 的处理方式
- Ubuntu12.04下QQ完美走起啊!走起啊!有木有啊!
- 解決Linux下Android开发真机调试设备不被识别问题
- 运维入门
- 运维提升
- Linux 自检和 SystemTap
- Ubuntu Linux使用体验
- c语言实现hashmap(转载)
- Linux 信号signal处理机制
- linux下mysql添加用户
- Scientific Linux 5.5 图形安装教程
- Linux 下无损图片压缩小工具介绍