网站地图    收藏   

主页 > 系统 > linux系统 >

shell解析class package并复制到指定包路径 - Linux操作

来源:自学PHP网    时间:2015-04-14 11:12 作者: 阅读:

[导读] shell解析class package并复制到指定包路径脚本如:Shell代码 echo ###############################class 解析复制工具##################################### echo ##解析当前目前下所有.class文件,......

shell解析class package并复制到指定包路径
 
脚本如:
 
Shell代码  
echo "###############################class 解析复制工具#####################################"  
echo "##解析当前目前下所有.class文件,并复制到对应包路径;如文件存在则先备份再复制          #"  
echo "##使用方法: #pp.sh <path>  path:class根目录,即类都将复制到以这个为根目录的对应包下。#"  
echo "##################################hzdev###############################################"  
binPath=$1  
if [ ! -n "$binPath" ]; then  
        echo 未指定class根目录,程序退出  
        exit 0  
        #binPath=pwd|sed 's/ //g'  
fi  
echo ============class根目录:$binPath  
  
timeStamp=`date '+%s'`  
   
  
for f in *.class  
do  
################ # echo ========Current class:$f  
  className=$(echo  "$f"|sed -e's/\.class//g')  
  className_=$(echo $className| sed 's/\$.*//g')  
  package=$(javap $className|grep -oP '(?<=class ).*(?=\.'$className_'.* extends)'|sed  -e's/\./\//g')  
  #echo "className:"$className  
  #echo "package:"$package  
   
  classFile="$binPath"/"$package"/"$f"  
  classPath="$binPath"/"$package"  
  
#  echo $classFile    
#check path exists  
  if [ ! -d "$classPath" ];then  
        echo =====目录$classPath不存在,创建目录  
        mkdir $classPath -p  
  fi  
  
#check class file exists    
  if [ ! -f "$classFile" ]; then  
        echo "复制文件$f------------>$classFile"  
        cp $f $classFile  
  else  
        bakFile="$classFile"."$timeStamp"  
        echo "=======>class文件存在,备份为 $bakFile"  
        echo "复制文件$f------------>$classFile"  
        mv $classFile $classFile.$timeStamp  
        cp $f $classFile  
  fi    
  
echo "******************************************************************************************"  
  
done  

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论