查找文件我们通过可以使用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 --Vevb.com
- echo -e "r"$row
- fi
- done
例如:./findJarClass.sh “C:Workjavaapache-flume-1.5.2-binlib” PollableSource
新闻热点
疑难解答