来源:自学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