3对符合条件的文件和文件夹进行复制或修改

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     //--------------------执行脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值