虽说比较简单,但希望分享给大家。按需求改成想找的:例如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文件的更多相关文章

  1. 【C#】递归搜索指定目录下的指定项目(文件或目录)

    ---------------更新:201411201121--------------- 主要更新说明:将原bool recurse参数改为int depth,这样可以指定递归深度,而不是笼统的是否 ...

  2. C#递归搜索指定目录下的文件或目录

    诚然可以使用现成的Directory类下的GetFiles.GetDirectories.GetFileSystemEntries这几个方法实现同样的功能,但请相信我不是蛋疼,原因是这几个方法在遇上[ ...

  3. linux 中 如何 搜索 指定目录 下 指定文件 的 指定内容

    开发时,经常遇到 全局查找某些代码 linux 中 如何 检索 某 目录下指定文件 的 指定内容如下: //.点为查找当前目录 下 的 所有 *.php 文件里 有 hello 的文件 find . ...

  4. copy指定目录下包括子目录中所有的文件

    #include <windows.h> #include <iostream> #include <string> using namespace std; DW ...

  5. shell 获取指定目录下文件名

    有两个目录a.b,两个文件夹目录里有一些文件的文件名是一样,不过后缀名不同,我想把a文件夹下跟b文件夹里相同文件名的文件覆盖到b去,并删除b里同名而不同后缀的文件,文件很多    #!/bin/bas ...

  6. 搜索某个目录下所有jar包中的mapper目录下的xml文件

    rm -rf /mapper/* find /data/app/app-*/lib ! -path "*xnpush*" ! -path "*portal*" ...

  7. [Python] 删除指定目录下后缀为 xxx 的过期文件

    import os import time import datetime def should_remove(path, pattern, days): if not path.endswith(p ...

  8. 编写一个程序,把指定目录下的所有的带.java文件都拷贝到另一个目录中,拷贝成功后,把后缀名是.java的改成.txt。

    package example; import java.io.*; public class Test { public static void main(String[] args) throws ...

  9. python实现指定目录下批量文件的单词计数:并发版本

    在 文章 <python实现指定目录下批量文件的单词计数:串行版本>中, 总体思路是: A. 一次性获取指定目录下的所有符合条件的文件 -> B. 一次性获取所有文件的所有文件行 - ...

随机推荐

  1. POJ 1363 Rails(栈)

    题目代号:POJ 1363 题目链接:http://poj.org/problem?id=1363 题目原题: Rails Time Limit: 1000MS   Memory Limit: 100 ...

  2. MySQL闪回工具之myflash 和 binlog2sql

    MySQL闪回工具之:binlog2sql  https://github.com/danfengcao/binlog2sql MYSQL Binglog分析利器:binlog2sql使用详解  :h ...

  3. C#中查找或结束程序域中的主、子进程

    有时候,我们的程序需要启动一些子进程,如嵌入的图形程序. 当启动一个进程后,获得这个进程信息Process,然后其内部在某个时刻启动了一个子进程,这个时候就涉及程序域和进程树的概念.当我们通过非正常操 ...

  4. SQLite入门语句之约束

    一.SQLite约束之NOT NULL 确保某列不能有 NULL 值.默认情况下,列可以保存 NULL 值.如果您不想某列有 NULL 值,那么需要在该列上定义此约束,指定在该列上不允许 NULL 值 ...

  5. NLog记录日志到本地或数据库

    OperatorLog CREATE TABLE [dbo].[OperatorLog]( ,) NOT NULL, [Createdate] [DATETIME] NOT NULL DEFAULT ...

  6. BeautifulSoup模块学习文档

    一.BeautifulSoup简介 1.BeautifulSoup模块 Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档 ...

  7. Java各类型占字节数

    byte 1字节short 2字节int 4字节long 8字节float 4字节double 8字节char 2字节boolean 1字节 其中,换算关系: 1GB=1024MB 1MB=1024K ...

  8. laravel 设置自定义 Validator

    转自:https://learnku.com/docs/laravel/5.4/validation/1234#custom-validation-rules 自定义验证规则 Laravel 提供了许 ...

  9. Java ——变量类型

    变量声明 int a, b, c; // 声明三个int型整数:a. b.c int d = 3, e = 4, f = 5; // 声明三个整数并赋予初值 byte z = 22; // 声明并初始 ...

  10. 【MM系列】SAP MM中物料帐下修改物料的价格

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP 物料帐下修改物料的价格   ...