支持cygwin(两种路径格式都支持),支持相对路径
#!/bin/bash
#从目录中的jar文件中查找指定的类
path=$1
name=$2
if [ "" = "$path" ];then
echo "path not specified"
exit
fi
if [ "" = "$name" ];then
echo "name not specified"
exit 1
fi
#cygwin处理
if [ ${path:1:2} = ':' ];then
drive=`echo ${path:0:1}|tr "[:upper:]" "[:lower:]"`
path=${path:3}
path='/cygdrive/'$drive'/'${path//\//}
elif [ ${path:0:1} != '/' ];then
path=$(pwd)"/$path"
fi
list=(`find $path -name *.jar -type f`)
c=${#list[*]}
cLen=${#c}
for row in ${list[*]}
do
c=`expr $c - 1`
printf "%"-$cLen"sr" $c
rowWin=${row//cygdrive/c/C:}
num=`jar -tf $rowWin|grep $name|wc -l`
if [ $num -gt 0 ];then
echo -e "r"$row
fi
done
例如:
./findJarClass.sh “C:Workjavaapache-flume-1.5.2-binlib” PollableSource
时间: 2024-10-23 07:49:34