zoukankan      html  css  js  c++  java
  • Linux 递归获取目录下所有满足条件的文件

    获取目录下所有满足条件的文件脚本

    脚本内容如下: 

    #!/bin/bash
    
    ############################################################
    # 用途:获取指定目录下满足条件的文件及其路径
    # 作者:Dylan<1214966109@qq.com>
    # 时间:Wed Aug 19 10:18:48 CST 2020
    ############################################################
    
    ############################################################
    # 系统变量
    ############################################################
    # 指定换行符,否则文件名中有空格时可能会出错
    IFS=$'
    ' 
    # 获取昨天时间
    DateYesterday=$(date -d 'yesterday' +%F)
    
    ############################################################
    # 用户自定义变量
    ############################################################
    # 定义文件名后缀
    FileType='.gz'
    # 需要查询的目录
    InitPath='.'
    # 需要写入的文件
    ResultFile="/tmp/file.txt"
    
    ############################################################
    # 函数:递归获取指定目录下满足条件的文件及其路径
    # 参数:$1,需要查询的目录
    ############################################################
    function GET_FILE_FULL_PATH(){
        for each in $(ls $1);do
            FilePath=${1}/${each}
            if [ -d ${FilePath} ];then
                # 如果文件是目录,则继续往里面查找
                GET_FILE_FULL_PATH ${FilePath}
            else
                # 判断文件名称是否满足条件
                if [[ $(echo ${FilePath} | grep ${DateYesterday} | grep -E "${FileType}$") != "" ]];then
                    echo ${FilePath} >> ${ResultFile}
                fi
            fi
        done
    }
    
    ############################################################
    # 入口
    ############################################################
    # 清空记录文件
    echo > ${ResultFile}
    # 执行函数
    GET_FILE_FULL_PATH ${InitPath}
  • 相关阅读:
    phpfpm进程数设置多少合适
    GitLab的安装及使用教程
    男人的中年危机坏在哪?(转载)
    让敏捷落地,从“认识自我”开始
    优化你的架构设计
    工作中的那点事儿是工作经验,还是思路给了你生存的能力(原创)
    窗口过程处理WndProc遇到的问题
    CodeBlocks 10.0+OpenCV 2.4.0配置方法
    OpenCV在VS2010下永久性配置
    Win8下的STCISP下载问题解决
  • 原文地址:https://www.cnblogs.com/Dy1an/p/13528219.html
Copyright © 2011-2022 走看看