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%?}