shell-最近7天目录

 1 #采用将最近7天的日期放入到数组中,遍历整个目录,将这7天的目录连接成一个字符串paths。
 2 #注意:    1.日期目录里面的文件只是做了简单的以part开头的匹配。
 3 #        2.path路径是日期的上一层,以/结尾
 4 #        3.将以下部分放到原来脚本的最上面
 5 #        4.paths是拼接的字符串结果,${paths%?}是去除末尾","的结果
 6 
 7 #原始数据文件路径(日期目录的上一层)
 8 path=/home/xwtech/temp/
 9 
10 # 1.将最近7天的日期放入到数组
11 i=0
12 while [[ i -lt 7 ]] ; do
13     datearray[i]=`date -d "-${i} day" +"%Y%m%d"`
14     let i++
15 done
16 
17 cd $path
18 
19 #判断目录结构(由8为数字组成,后面会判断该目录是否在日期数组中,so 没有做完全的日期判定),拼接字符串
20 for dirname in `ls | grep -E "([0-9]{8})"`
21 do
22     if [[  "${datearray[@]}" =~ ${dirname} ]]
23     then
24         # 匹配以part开头的文件
25         for file in `ls ${dirname} | grep -E "part-*?"`
26         do
27             paths=${paths}${dirname}"/"${file}","
28         done
29     fi
30 done
31 # ${paths%?} 就是去除最后一个","的结果
32 echo ${paths%?}
原文地址:https://www.cnblogs.com/husky/p/6599982.html