• [bash]用于查找指定格式目录的程序


    功能:

    在指定目录下查找符合yyyy-MM-dd(-d)nnn模式的目录名,例如2020-03-22-b888

    目标目录情况:

    [root@localhost testfolder]# ll
    total 0
    drwxr-xr-x. 2 root root 6 Mar 21 06:53 2020
    drwxr-xr-x. 2 root root 6 Mar 21 06:16 2020-01-10-b001
    drwxr-xr-x. 2 root root 6 Mar 21 06:16 2020-02-20-b001
    drwxr-xr-x. 2 root root 6 Mar 21 06:16 2020-03-20-b001
    drwxr-xr-x. 2 root root 6 Mar 21 06:15 2020-03-21-b001
    drwxr-xr-x. 2 root root 6 Mar 21 06:15 2020-03-22-b001
    drwxr-xr-x. 2 root root 6 Mar 21 06:50 2020-20
    drwxr-xr-x. 2 root root 6 Mar 21 06:16 archive
    -rw-r--r--. 1 root root 0 Mar 21 06:18 a.txt
    drwxr-xr-x. 2 root root 6 Mar 21 06:16 backup
    -rw-r--r--. 1 root root 0 Mar 21 06:18 b.txt
    [root@localhost testfolder]# 

    期待查找结果:

    2020-02-20-b001  2020-03-21-b001  
    2020-01-10-b001  2020-03-20-b001  2020-03-22-b001

    代码:

    #!/bin/bash
    
    function findDirsUnder(){
        folder=$1
    
        for dir in `find $folder -type d -regextype 'posix-egrep' -regex $folder+'/[0-9]{4}-[0-9]{2}-[0-9]{2}-b[0-9]{3}$'`;
        do
           echo $dir
        done
    }
    
    findDirsUnder "/root/testfolder"

    执行结果:

    [root@localhost bashs]# sh dir.sh 
    /root/testfolder/2020-03-21-b001
    /root/testfolder/2020-03-22-b001
    /root/testfolder/2020-03-20-b001
    /root/testfolder/2020-02-20-b001
    /root/testfolder/2020-01-10-b001
    [root@localhost bashs]# 

    --2020年3月22日--

  • 相关阅读:
    JavaSE之流程控制结构
    JavaSE的基本语法
    排序算法
    Java实现归并排序
    Java中线程池的介绍
    Java锁的升降级及synchoronized优化
    ThreadLocal应用与原理
    spring bean 实例化bean前后进行相应的设置
    maven依赖配置和依赖范围
    springmvc校验
  • 原文地址:https://www.cnblogs.com/heyang78/p/12546221.html
Copyright © 2020-2023  润新知