从凌晨 2 点到第二天凌晨 2 点的每小时文件作为 Pig 的输入

Hourly files from 2AM to next day 2 AM as input to Pig

我们有一项要求,即每天接收每小时的文件。所以我们一天收到 24 个文件。我们有一个 pig 操作,这些文件将作为输入。现在只有从今天凌晨 2 点到第二天凌晨 2 点的文件应该是 pig 操作的输入。这项工作将来也应该自动化。其余文件将输入到另一个 pig 操作。

文件格式:abcdef_20170810-020000.tar.gz(02 代表凌晨 2 点文件)时间将采用 24 小时格式。

因此 pig 动作的输入应该是从 abcdef_20170810-020000.tar.gz 到 abcdef_20170811-020000.tar.gz

的文件

shell 脚本中有什么方法可以实现吗? pig 操作是 oozie 工作流程的一部分。

我尝试了很多正则表达式,但由于文件格式不是很独特,我无法破解它。

感谢任何指导。

既然你有一个标签,那么

怎么样?
today=$(date "+%Y%m%d")
yesterday=$(date -d yesterday "+%Y%m%d")
cd /location/of/daily/files
files=( 
    abcdef_${today}-0[012]0000.tar.gz
    abcdef_${yesterday}-0[2-9]0000.tar.gz
    abcdef_${yesterday}-1[0-9]0000.tar.gz
    abcdef_${yesterday}-2[0-3]0000.tar.gz
)
do_something_with "${files[@]}"