怯问KETTLE只想从某文件夹取其中最新的那个文件,该如何操作呢?

文件名格式:
test20210921150000.txt
test20210921153000.txt
test20210921160000.txt
test20210921163000.txt

如上,从文件夹里的命名规范如上的这四个文件里,我只想取最新的test20210921163000.txt
kettle能不能实现呢?

ETL工具的设计大部分都是泛型的,会提供功能,但具体的特殊场景需要自己做一些处理,关于这个问题,可以做如下的处理:

  1. 优先考虑shell提前处理文件
  2. shell 中对文件列表中的信息进行处理,其中,通过 ls -lt获取指定文件夹中的文件列表信息,通过awk获取第一行中的文件名,然后将其cp 或mv 到临时文件夹中
  3. 通过kettle抽取临时文件夹中的文件,然后将这个文件mv回去原来的文件夹或者删除