MY SHELL

#!/bin/sh

. ./config.properties
. ./mytools.inc

if [ ! -d "$DEST_1_CODE" ];
then
 echo \"$DEST_CODE\" do not exist
 exit 1
fi

if [ ! -d "$DEST_N_CODE" ];then
 echo \"$DEST_CODE\" do not exist
 exit 1
fi

echo "" >> $1
sed "/^$/d" $1 > temp.log
cat temp.log > $1
rm -f temp.log

function findinnerclass
{
  classdir=`dirname $DEST_CODE/$finline`
  classname=`basename $DEST_CODE/$finline`
  flagname=`echo $classname | awk -F '.' '{print $1}'`                      
  find $classdir -name "$flagname\$*"  >> temp_findinnerclass.log
  
  addBlankLine temp_findinnerclass.log           
  while read innerclass
    do
      if [ "$innerclass" != ""  ];then
        echo "find innerclass.....##`basename $innerclass`## for ##`basename $DEST_CODE/$finline`##"
        cp $innerclass $patchd > /dev/null 2>&1
        if [ "$?" != 0 ];then
          echo "cp error"
        fi                  
      fi
    done < temp_findinnerclass.log
  rm -f temp_findinnerclass.log  
}

 

 

#src/batch/action/        com/huawei/crm/batch/action/business/common/BatchFileChecker.java
#src/batch/action/classes/com/huawei/crm/batch/action/business/common/BatchFileChecker.java

#src/batch/service/    com/huawei/crm/batch/business/addvpnnumber/BatchAddVPNMembersBusiVerifyImpl.java
#src/batch/service/bin/com/huawei/crm/batch/business/addvpnnumber/BatchAddVPNMembersBusiVerifyImpl.java

#   src/batch/commeo/action/       /com/huawei/
#   src/batch/commeo/action/classes/com/huawei/
#   src/batch/commeo/   /com/huawei/
#   src/batch/commeo/bin/com/huawei/
#   src/batch/   /com/huawei/
#   src/batch/bin/com/huawei/
#1 src/batch/action/       /com/huawei/crm/batch/action/business/common/BatchFileChecker.java
#1 src/batch/action/classes/com/huawei/crm/batch/action/business/common/BatchFileChecker.java

               
#1 src/batch/service/com/huawei/crm/batch/business/addvpnnumber/BatchAddVPNMembersBusiVerifyImpl.java


#N src/cc/action/com/huawei/crm/cc/action/business/accept/subscriber/SubAcceptCommonFactoryYemenCTZ.java
#n src/cc/action/com/huawei/crm/customization/cc/action/business/accept/activesub/ActivationRenewPrepaidFlowServiceYemenCtz.java
#N crm.war/customization/batch/usl/business/accept/business/batchNewSubYemenCtz.usl
#n crm.war/help/customization/pc/book_open.gif                                 
#1  crm.war/corp/image/choose.gif             
#1  crm.war/batch/usl/business/accept/business/batch_svcpack.usl

#if [ -d "patch" ];then
#  mv patch patch.`date +%Y%m%d`.bak
#  if [ "$?" != 0 ];then
#    echo "mv failed" 
#  fi
#fi

 

 

if [ -d "$PATCH_1" ];then
 rm -rf $PATCH_1
fi
if [ -d "$PATCH_N" ];then
 rm -rf $PATCH_N
fi
if [ -d "$PATCH_FIN" ];then
 rm -rf $PATCH_FIN
fi

#3.3 也门类型
function getClasses
{  
  srcjavaline=$line
  line=`echo $line | sed 's/.java/.class/g'`
  GET_DEST=$DEST_CODE/$line
  flagdir=`echo $line | awk -F '/' '{print $1}'`
  if [ "$flagdir" = "crm.war" ];then
   echo $GET_DEST  
   tempd=`echo $GET_DEST | sed 's/.*crm.war/crm.war/g'`
   
   patchd=$PATCH_DIR/`dirname $tempd`
   echo "------------------------------------------------------------------------"
   echo $patchd
   echo "------------------------------------------------------------------------"
   mkdir -p $patchd
   cp -r $GET_DEST $patchd > /dev/null 2>&1
   cp -r $GET_DEST $patchd
  fi
  if [ "$?" != 0 ];then
   echo "cp error"
  fi

    
  if [ "$flagdir" = "src" ];then
  
#./src/cc/service/com/huawei/crm/cc/business/accept/ressale/ParamMsisdnInfoValue.java
#
#find ParamMsisdnInfoValue.class
#
#
#./src/cc/service/bin/com/huawei/crm/cc/business/accept/ressale/ParamMsisdnInfoValue.class
#./src/domain/bin/com/huawei/crm/core/domain/cc/subscriber/ParamMsisdnInfoValue.class
#./src/order/service/bin/com/huawei/crm/order/intf/exportor/domain/ParamMsisdnInfoValue.class
#1 crm.war/WEB-INF/i18n/pc/pc_en_US.properties
#1 crm.war/WEB-INF/i18n/pc/pc_zh_CN.properties


   cd $DEST_CODE
   findflag=`basename $line`
   
   if [ -f /tmp/test.log ];then
    rm -f /tmp/test.log
   fi
   find . -name $findflag >> /tmp/test.log
   
   compareline=`echo $line | sed 's/.*\/com\/huawei\//com\/huawei\//g'`
   echo $srcjavaline
   while read findline
    do
#     echo $findline
#     echo `echo $findline | awk -F '/' '{print NF}'`
     comparefindline=`echo $findline | sed 's/.*\/com\/huawei\//com\/huawei\//g'`
     
     if [ $compareline = $comparefindline ];then
      finline=$findline    
     fi
     
    done < /tmp/test.log
    
   finline=`echo $finline | sed 's/.*\/src\//src\//g'`
      
   GET_DEST=$DEST_CODE/$finline
#   echo $GET_DEST   
   
   tempd=`echo $finline | sed 's/.*\/com\/huawei\//com\/huawei\//g'`
#   echo $tempd
   patchd=$PATCH_DIR/`dirname $tempd`
   
   patchd=$PATCH_DIR/`dirname $tempd`
   echo "------------------------------------------------------------------------"
   echo $patchd
   echo "------------------------------------------------------------------------"
   mkdir -p $patchd
   cp -r $GET_DEST $patchd > /dev/null 2>&1
   cp -r $GET_DEST $patchd
   findinnerclass    
  fi   
}

 


   
loop=1
while read flag line
  do
  if [ "$flag" = "1" ];then
   echo "##########################  1  ####################################$loop"
   PATCH_DIR=$PATCH_1   
   DEST_CODE=$DEST_1_CODE  
   getClasses 
  fi

  if [ "$flag" = "N" ] || [ "$flag" = "n" ];then
   echo "##########################  N  ####################################$loop"
   PATCH_DIR=$PATCH_N 
   DEST_CODE=$DEST_N_CODE  
   getClasses 
  fi  
  loop=`expr $loop + 1`   
  done < $1
  
  
mkdir -p $PATCH_FIN
if [ -d "$PATCH_1" ];then
 cd $PATCH_1
 cp -r * $PATCH_FIN
fi

if [ -d "$PATCH_N" ];then
 cd $PATCH_N
 cp -r * $PATCH_FIN
fi

 

 


#3.0         
#loop=1
#while read flag line
#  do
#    if [ "$flag" != "D" ]; then   
#      echo "#######################################################################$loop"    
##      CP_DEST=$DEST_CODE/$line
#      line=`echo $line | sed 's/.java/.class/g'`      
##      echo $line    
#      flagdir=`echo $line | awk -F '/' '{print $1"/"$2"/"$3"/"}'`
##      echo $flagdir

#      case $flagdir in
#        web*servlet/*)
#          typeflag=`echo $flagdir | awk -F '/' '{print $3}'`
#          if [ "$typeflag" != "intf" ];then
#            finline=`echo $line | sed 's/\/src\//\/classes\//'`
#            echo $DEST_CODE/$finline                                                                                                                               
#            tempd=`echo $finline | sed 's/.*classes/classes/g'`
#            patchd=patch/patch/`dirname $tempd`
#            echo "------------------------------------------------------------"
#            echo $patchd
#            echo "------------------------------------------------------------"
#            mkdir -p $patchd                                                      
#            cp $DEST_CODE/$finline $patchd > /dev/null 2>&1
#            if [ "$?" != 0 ];then
#              echo "cp error"
#            fi
#                        
#            findinnerclass                                  
#          fi
#          ;;
#        service*src/* | domain*src/* | common*src/*)
#          finline=`echo $line | sed 's/\/src\//\/bin\//'`
#          echo $DEST_CODE/$finline
#          tempd=`echo $finline | sed 's/.*bin/bin/g'`
#          patchd=patch/patch/`dirname $tempd`
#          echo "------------------------------------------------------------"
#          echo $patchd
#          echo "------------------------------------------------------------"
#          mkdir -p $patchd
#          cp $DEST_CODE/$finline $patchd > /dev/null 2>&1
#          if [ "$?" != 0 ];then
#            echo "cp error"
#          fi
#                          
#          findinnerclass                   
#          ;;
#        *)
#          echo $DEST_CODE/$line
#          tempd=`echo $line | sed 's/.*webapp/webapp/g'`
#          patchd=patch/`dirname $tempd`
#          echo "------------------------------------------------------------"
#          echo $patchd
#          echo "------------------------------------------------------------"
#          mkdir -p $patchd
#          cp $DEST_CODE/$line $patchd > /dev/null 2>&1
#          if [ "$?" != 0 ];then
#            echo "cp error"
#          fi        
#          ;;       
#      esac
#           
#      loop=`expr $loop + 1`
#    fi   
#  done < $1
#rm -f templog.log 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28588485/viewspace-757430/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/28588485/viewspace-757430/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值