使用shell脚本比较HDFS中的X级目录

时间:2017-08-20 16:57:19

标签: shell hadoop

我在HDFS中有一个基本目录

/用户/ A123

HDFS目录a123具有嵌套的子目录

String

从基本目录中,我只需要选择第二级目录,即&yyyy-mm-dd'目录,并比较它是否超过2天。

如果超过2天,请将其打印为存档&其他完整的文件夹名称。

/user/a123/folderA/2017-08-17/xyz
/user/a123/folderA/2017-08-18/abc
/user/a123/folderB/2017-08-17
/user/a123/folderB/2017-08-19
/user/a123/folderC/2017-08-17
/user/a123/folderD/2017-08-20/def
/user/a123/folderD/2017-08-17
/user/a123/folderE/2017-08-17/xyz

预期产出:

today=`date +'%s'`
hdfs dfs -ls /user/a123/ | grep "^d" | while read line ; do
dir_date=$(echo ${line} | awk '{print $6}')
difference=$(( ( ${today} - $(date -d ${dir_date} +%s) ) / ( 24*60*60 ) ))
filePath=$(echo ${line} | awk '{print $8}')

if [ ${difference} -lt 2 ]; then
echo "Archive : "${filePath}
else echo "Existing : "${filePath}
fi
done

0 个答案:

没有答案