2

我正在使用具有一些 FTP 功能的第 3 方 ETL 工具,但它们是最小的(它称为 Pentaho)。

我需要做的就是从 ftp 站点下载最新的 zip 文件。站点内容如下所示:

...
File:tfo.supplement.20120901.done   9/1/2012    3:48:00 AM
File:tfo.supplement.20120901.zip    421144 KB   9/1/2012    3:48:00 AM
File:tfo.supplement.20120904.done   9/4/2012    3:57:00 AM
File:tfo.supplement.20120904.zip    421794 KB   9/4/2012    3:57:00 AM
File:tfo.supplement.20120905.done   9/5/2012    3:28:00 AM
File:tfo.supplement.20120905.zip    421875 KB   9/5/2012    3:28:00 AM

所以,在这种情况下,我想要 tfo.supplement.20120905.zip 文件。

3rd 方工具仅提供一个获取文件选项,该选项采用文件夹和正则表达式。它将抓取目标 FTP 站点文件夹中与正则表达式匹配的所有文件。

有人告诉我,可以制作一个真正比较不同匹配选项并输出最大匹配选项的正则表达式。例如,获取所有以 .zip 结尾的 tfo.supplement.* 文件并将中间的日期视为整数,选择具有最大整数的日期。

我不知道正则表达式可以支持这种功能。有人可以帮我构建一个可以在这个用例中使用的表达式吗?

4

1 回答 1

3

你在寻找这样的东西吗?>>

s/\s(\d+)\/(\d+)\/(\d{4})\s/{$d = 10000*$3+100*$1+$2 if $d < 10000*$3+100*$1+$2}/eg;

在此处测试此代码。

于 2012-09-21T22:07:43.207 回答