查找文件我们通过可以使用find命令来查找了,今天小编来为各位介绍一个linux中查找目录下包含某个类的jar文件例子,希望这个例子可以帮助到大家.
支持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 --phpfensi.com
echo -e "r"$row
fi
done
例如:./findJarClass.sh “C:Workjavaapache-flume-1.5.2-binlib” PollableSource。
大型站长资讯类网站! https://www.nzzz.com.cn