shell 搜索指定目录下所有 jar 文件生成csv文件
虽说比较简单,但希望分享给大家。按需求改成想找的:例如txt,xls 等。
脚本名 扫描的路径 文件名
testFind.sh / testFind.txt (如果未配置环境变量 ./testFind.sh / testFind.txt 或sh 启动)
function find(){
for file in `ls $1`
do
if [ -d $1"/"$file ]
then
e $1"/"$file $2
else
# echo -e $1"/"$file"\n" -> ${contentFile}"/"search_test.txt
# if [ -e $1"/"$file ];then
# echo $1/$file
# echo ""
# echo $1"/"$file >> ${contentFile}/search_test.txt
# echo "${file}" -> $contentFile/search_test.txt
# fi
if [[ ${file} =~ "." ]];then
if [ "${file##*.}"x = "jar"x ];then
sub=${file%.*}
# sedStr=${sub//-/_}
version=${sub##*-}
name=${sub%-*}
# echo "${name}"
if [[ $version == [0-9]* ]];then
# csv文件是以“,”分割的文件,所以拼逗号
echo "$sysname","${name}","$version","${file}","$1","" >> $contentFile/$sysname.csv
else
echo "$sysname","${name}",,"${file}","$1","" >> $contentFile/$sysname.csv
fi
fi
fi
fi
done
}
###########################main####################
if [ $# -lt 2 ]
then echo '请输入2个参数:[目标文件夹路径] , [系统英文名称] '
exit 3
fi
echo " "
echo "当前查询路径: $1"
echo " "
#当前执行的路径
contentFile=`pwd`
#文件名 我们是按照系统统计的所以命名这个
sysname=$2
#判断文件是否存在
if [ -e $contentFile/$sysname.csv ];then
rm -r $contentFile/$sysname.csv
fi
echo ""
echo "[开始]搜索所有 *jar* 文件---- "
echo ""
find $1 $2
echo "[结束] 清查看jar文件清单:$contentFile/$2.csv"
echo ""
exit 0
--结果这样的

shell 搜索指定目录下所有 jar 文件生成csv文件的更多相关文章
- 【C#】递归搜索指定目录下的指定项目(文件或目录)
---------------更新:201411201121--------------- 主要更新说明:将原bool recurse参数改为int depth,这样可以指定递归深度,而不是笼统的是否 ...
- C#递归搜索指定目录下的文件或目录
诚然可以使用现成的Directory类下的GetFiles.GetDirectories.GetFileSystemEntries这几个方法实现同样的功能,但请相信我不是蛋疼,原因是这几个方法在遇上[ ...
- linux 中 如何 搜索 指定目录 下 指定文件 的 指定内容
开发时,经常遇到 全局查找某些代码 linux 中 如何 检索 某 目录下指定文件 的 指定内容如下: //.点为查找当前目录 下 的 所有 *.php 文件里 有 hello 的文件 find . ...
- copy指定目录下包括子目录中所有的文件
#include <windows.h> #include <iostream> #include <string> using namespace std; DW ...
- shell 获取指定目录下文件名
有两个目录a.b,两个文件夹目录里有一些文件的文件名是一样,不过后缀名不同,我想把a文件夹下跟b文件夹里相同文件名的文件覆盖到b去,并删除b里同名而不同后缀的文件,文件很多 #!/bin/bas ...
- 搜索某个目录下所有jar包中的mapper目录下的xml文件
rm -rf /mapper/* find /data/app/app-*/lib ! -path "*xnpush*" ! -path "*portal*" ...
- [Python] 删除指定目录下后缀为 xxx 的过期文件
import os import time import datetime def should_remove(path, pattern, days): if not path.endswith(p ...
- 编写一个程序,把指定目录下的所有的带.java文件都拷贝到另一个目录中,拷贝成功后,把后缀名是.java的改成.txt。
package example; import java.io.*; public class Test { public static void main(String[] args) throws ...
- python实现指定目录下批量文件的单词计数:并发版本
在 文章 <python实现指定目录下批量文件的单词计数:串行版本>中, 总体思路是: A. 一次性获取指定目录下的所有符合条件的文件 -> B. 一次性获取所有文件的所有文件行 - ...
随机推荐
- django 给数据库批量添加数据
from .models import Book import random def index(request): book_list = [] for i in range(1, 101): bo ...
- python-笔记-内置函数
###内置函数 print(all([1,2,3,4]))判断可迭代的对象里面的值是否都为真 print(any([0,1,2,3,4]))判断可迭代的对象里面的值是否有一个为真 print(id(l ...
- Java-小技巧-006 List 排序 Collections.sort()
一.数组操作类:Arrays 最早开始使用,查看方法二分查找:public static int binarySearch(数据类型[] a, 数据类型 key) 前提是有序的 equals 先排序 ...
- Powershell 邮件发送
目录 目录 前言 Send-MailMessage NETMail 使用OutLook发送邮件 前言 最近领导想在winServer2012上搞个自动发送邮件的计划任务,下面有几种发送邮件的方式. 如 ...
- 阶段1 语言基础+高级_1-3-Java语言高级_1-常用API_1_第5节 String类_10_练习:统计输入的字符串中
char类型在发生数学运算的时候,可以提升为int类型 这就表示char在A到Z之间的
- 【python+selenium自动化】使用pytest+allure2完成自动化测试报告的输出
pytest的pytest-html插件是一个很方便的测试报告,运行自动化测试用例时,pytest后加上参数即可 allure是一个测试报告的框架,相比pytest-html的优势就是“逼格” 他的优 ...
- PYTHON2.7之前需要独立安装pip
如果python2版本是>=2.7.9, python3版本是>=3.4, pip已将一起随python安装成功了. 对于Python 2.6,你需要更旧setuptools.适用于Pyt ...
- 多线程03-Abort
); t.Abort(); Console.WriteLine(; i < ; i++) { ...
- Windows 10更新后无法启动Dolby音频驱动程序
在电脑更新Windows 10 1903版本后,重启出现如下问题: 经查,这与驱动强制签名有关.解决方法如下: 打开"设置"->"更新与安全"->& ...
- [随笔重写] Python3 的深拷贝与浅拷贝
1. Python3 关于深浅拷贝的官方文档 文档地址:Python3.7.2 源码地址:lib/copy.py 2. 先说结论 深拷贝与浅拷贝是对复合对象而言的 深拷贝会构造一个新的复合对象,然后递 ...