今天分享一个find的用法,有个需求需要遍历某个目录或存储上所有指定日期的目录,比如目录名称为20180901即年月日的组合,要找到所有20000101年至20151231的所有目录并打印出来。
使用find的正则进行查找:
#!/bin/bash
find /www/html -type d -regextype "posix-egrep" -regex '.*/20(0[0-9]|1[0-5])(0[1-9]|1[0-2])[0-9][0-9]' >> dir_00_15.list
执行效果,我在/tmp下创建了多个文件夹如下:
然后执行脚本:
输出结果排除了19991231、20160101目录,实验成功。