• 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}
  • 相关阅读:
    JavaSE-面向对象
    JavaSE-数组
    JavaSE-方法
    JavaSE-流程控制
    JavaSE-基础语法
    Java-初识Java
    PTH的几种食用姿势
    CVE-2020-1472 Zerologon
    OpenGL 术语
    使用IDEA创建SpringMVC项目
  • 原文地址:https://www.cnblogs.com/Dy1an/p/13528219.html
Copyright © 2020-2023  润新知