`
enjiex
  • 浏览: 67213 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Shell 递归遍历文件夹

 
阅读更多
写这段程序纯属意外,第一次弄Shell,网上搜了一堆才写出来一段准备把maven的repo下的非Sources的jar文件加入到CLASSPATH中。当然最后失败了,因为这个文件夹太大了,很长时间遍历不完,但还好留下了这段遍历文件夹并根据文件后缀名判断文件类型的代码。
CLASSPATH=.
## 把文件路径加入到CLASSPATH中
function append_path(){
        file_suffix=`echo $1 | awk '{print substr($0,length($0)-2)}'`
        source_suffix=`echo $1 | awk '{print substr($0, length($0)-10)}'` 
        if [ "jar" = $file_suffix ]; then
                if [ "sources.jar" != $source_suffix ]; then  
                        CLASSPATH=$CLASSPATH:$1
                fi  
        fi  
}

##递归遍历文件夹
function iterate_dir(){
        for file in $1/*
        do  
                if [ -f $file ]; then
                        append_path $file
                else
                        iterate_dir $file
                fi  
        done

        export CLASSPATH
}

## 这个是方法调用的入口
iterate_dir ~/repo

附:
其实即使上面的程序耗时很短,把相关的jar文件路径加入到了CLASSPATH,其实也会有问题的,大家知道maven库会维护同一个三方包的多个版本,如果同时加入到CLASSPATH中,必然会导致冲突。
另外,在一个Terminal中单独引入一个三方包的方法:
CLASSPATH=$CLASSPATH:/home/enjiex/repo/jdbc/mysql/mysql-connector/5.1.5/mysql-connector-5.1.5.jar
export CLASSPATH
echo $CLASSPATH   ##查看是否加入到了CLASSPATH中

分享到:
评论

相关推荐

    【shell】遍历文件夹下所有文件

    对linux命令tree的简单实现,遍历指定文件夹下的所有文件

    详解shell 遍历文件夹内所有文件并打印绝对路径

    本篇文章主要介绍了shell 遍历文件夹内所有文件并打印绝对路径,具有一定的参考价值,有兴趣的可以了解一下。

    Shell脚本实现从文件夹中递归复制文件

    主要介绍了Shell脚本实现从文件夹中递归复制文件,本文脚本实现从十层左右的文件夹中复制所有文件到一目录中,需要的朋友可以参考下

    shell 递归遍历目录下的所有文件并统一改名的方法

    今天小编就为大家分享一篇shell 递归遍历目录下的所有文件并统一改名的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    PHP递归遍历指定文件夹内的文件实现方法

    发现php的文件夹函数好像没有提供遍历文件夹下的所有文件(包括子目录中的文件),于是,就想自己实现一个。 在写的时候发现一些操作文件夹的函数并不是自己想的那样。比如,dirname()根据提供的完整文件路径来取得...

    文件夹递归查询所有文件夹内容替换目标文本

    bat可执行文件执行jar包,遍历文件夹下所有文件指定内容并且替换为目标文件。不需要idea和eclipse等工具打开,开发语言是JAVA。

    check_file_permission.sh

    递归遍历文件夹,检查文件夹下所有目录和日志权限

    pyufp:ufp 库 python 版本。 各种方便的功能集合

    量化应用于灰度图像更改图像颜色深度从图像边缘提取高频颜色从图像中删除边距通过限制搜索深度递归遍历路径移动文件夹的所有内容以指定格式的字符串获取文件的最后修改时间合并父路径和子路径获取目录中经过过滤的...

    fcount:递归计算文件类型

    计数 递归计算当前目录中给定文件扩展名的文件数以匹配。 用法 您要计算的所有扩展名都应输入到空格分隔列表中。 $ fcount [extensions......添加从目录遍历中排除某些文件夹的功能。 例如,不应计算node_modules内的

    python cookbook(第3版)

    2.3 用Shell通配符匹配字符串 2.4 字符串匹配和搜索 2.5 字符串搜索和替换 2.6 字符串忽略大小写的搜索替换 2.7 最短匹配模式 2.8 多行匹配模式 2.9 将Unicode文本标准化 2.10 在正则式中使用Unicode 2.11 ...

    JAVA上百实例源码以及开源项目

    递归遍历矩阵 1个目标文件,简单! 多人聊天室 3个目标文件 第一步:运行ServerData.java 启动服务器,然后服务器处于等待状态 第二步:运行LoginData.java 启动(客户端)登陆界面 输入用户名 ip为本机localhost 第...

    JAVA上百实例源码以及开源项目源代码

    递归遍历矩阵 1个目标文件,简单! 多人聊天室 3个目标文件 第一步:运行ServerData.java 启动服务器,然后服务器处于等待状态 第二步:运行LoginData.java 启动(客户端)登陆界面 输入用户名 ip为本机localhost 第...

Global site tag (gtag.js) - Google Analytics