You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Pentaho Kettle通过SFTP获取指定格式文件的问题

解决方案

核心问题分析

你遇到的问题大概率是因为所使用的SFTP工具的「通配符」输入框并不支持标准正则表达式,而是默认采用glob文件匹配模式。在glob中,\d和{8}不会被解析为“匹配数字”和“重复8次”的正则语法,而是被当作普通字符处理,导致你的表达式.*Bede7d_\d{8}.*实际等价于*Bede7d_*,自然会匹配所有包含Bede7d_的文件。

针对性解决方法

方法1:使用glob精确匹配(推荐,适配绝大多数SFTP工具)

直接结合当日日期构造glob匹配规则:

  • 若当日日期为20230823,使用通配符:*Bede7d_20230823*.csv
  • 如果是自动化场景需要动态获取当日日期,查找工具是否支持日期变量(比如多数低代码/自动化工具会提供类似{{YYYYMMDD}}或%DATE:YYYYMMDD%的变量),替换为:*Bede7d_{{当日日期变量}}*.csv

方法2:确认工具支持正则后调整表达式

如果工具明确支持标准正则表达式,调整表达式以精准匹配:

  • 基础精准版:.*Bede7d_\d{8}.*\.csv(限定匹配.csv后缀的文件,避免无关文件)
  • 更严格版:.*Bede7d_\d{8}\d{12}_.*\.csv(匹配Bede7d_后紧跟8位日期+12位时间的文件,完全贴合你的文件名格式)

额外验证步骤

  1. 先在工具中测试简单的glob规则(比如*Bede7d_20230823*.csv),确认是否能筛选出目标文件。
  2. 若工具支持正则,先测试.*Bede7d_20230823.*,确认能匹配当日文件后,再替换为\d{8}的动态写法。

内容的提问来源于stack exchange,提问作者Shreya Mishra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 23:53:09