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
  echo -e "r"$row
 fi
done

例如:

./findJarClass.sh “C:Workjavaapache-flume-1.5.2-binlib” PollableSource

时间: 2024-10-23 07:49:34

linux中查找目录下包含某个类的jar文件的相关文章

Linux中查找当前目录下文件并更改扩展名

Linux中查找当前目录下文件并更改扩展名? 更改所有.gz文件为.aa# find ./ -http://www.aliyun.com/zixun/aggregation/11696.html">name "*.gz" -exec rename .gz .aa '{}' \; 示例: 执行命令之前的结果 [root@localhost software]# ll 总用量 84692  -rw-r--r--. 1 root root 13587692 6月  19 16

详解Linux中查找目录和文件的find和locate命令

  find find 路径 -命令参数 [输出形式] 参数说明: 路径:告诉find在哪儿去找你要的东西, 命令参数:参数很多下面会说到 输出形式:输出形式很多,-print,-printf,-print0,-exec,-ok,-ls反正很多自己看手册吧. 说一下exec, -exec find命令对匹配的文件执行该参数所给出的其他linux命令.相应命令的形式为' 命令 - and' {} ;,注意{ }和;之间的空格. -ok 和- exec的作用相同,只不过和会人交互而已,OK执行前会向

Linux中/proc目录下文件

  /proc文件系统下的多种文件提供的系统信息不是针对某个特定进程的,而是能够在整个系统范围的上下文中使用.可以使用的文件随系统配置的变化而变化.命令procinfo能够显示基于其中某些文件的多种系统信息.以下详细描述/proc下的文件. /proc/cmdline文件 这个文件给出了内核启动的命令行.它和用于进程的cmdline项非常相似. 示例: [root@localhost proc]# cat cmdline ro root=LABEL=/ rhgb quiet ----------

Linux中/proc目录下文件有什么用

/proc文件系统下的多种文件提供的系统信息不是针对某个特定进程的,而是能够在整个系统范围的上下文中使用.可以 使用的文件随系统配置的变化而变化.命令procinfo能够显示基于其中某些文件的多种系统信息.以下详细描述/proc下的 文件. -------------------------------------------------------------------------------- /proc/cmdline文件 这个文件给出了内核启动的命令行.它和用于进程的cmdline项非

查找目录下同名但不同后缀名文件的shell脚本代码_linux shell

因为后台录入的同事,上传文件的时候,给文件取了相同的名字,但不同的后缀名,由于文件路径非常深,大概十层左右,每一层又有几十个文件,所以人工找起来非常麻烦,所以写了个脚本,帮他们实现查找指定目录下所有子目录及文件,找出相同文件名,不同后缀的文件,然后,手动保留其中一个. 复制代码 代码如下: #!/bin/bash  #判断一下脚本参数的问题  if [ $# -ne 1 ];then     echo "Usage find_same.sh direcroty"     exit  f

linux中home目录下的文件全部显示到Desktop问题

编辑该用户下的配置文件:home/user/.config/user.dirs.dirs  (user用户名) 需要注意的是不能在"$HOME"后面在加上用户名,如XDG_DESKTOP_DIR="$HOME/user/desktop"是不行的.我是又先添加一个用户tester,对比"home/tester/.config/user.dirs.dirs"的文件内容发现的.下面就是一个正确配置的文件内容: XDG_DESKTOP_DIR="

linux下查找某个目录下包含某个字符串的文件

有时候要找以前写的一段程序,但是日久健忘,只记得程序片段里包含某个文字. 那么如何在linux下寻找包含某段文字的文件呢? 强大的find命令可以帮你完成不可能的任务. 比如我只记得我的程序里包含唯一的字符串"111cn.net",于是: 查找目录下的所有文件中是否含有某个字符串 find .|xargs grep -ri "111cn.net" 查找目录下的所有文件中是否含有某个字符串,并且只打印出文件名 find .|xargs grep -ri "1

查找目录下的所有文件中是否含有某个字符串 linux

查找目录下的所有文件中是否含有某个字符串 find .|xargs grep -ri "IBM" 查找目录下的所有文件中是否含有某个字符串,并且只打印出文件名 find .|xargs grep -ri "IBM" -l 1.正则表达式    (1)正则表达式一般用来描述文本模式的特殊用法,由普通字符(例如字符a-z)以及特殊字符(称为元字符,如/.*.?等)组成.   (2)基本元字符集及其含义       ^ :只匹配行首.   如^a 匹配以a开头的行abc,

Linux中统计路径下目录的大小脚本

Linux中统计路径下目录的大小脚本如下: 保存成total.sh,然后用total.sh 绝对路径,就能统计路径下目录的大小了 代码: #!/bin/shdu $1 --max-depth=1 | sort -n|awk '{printf "%7.2fM ----> %s\n",$1/http://www.aliyun.com/zixun/aggregation/12560.html">1024,$2}'|sed 's:/.*/\([^/]\{1,\}\)$:\