【问题标题】:Replacing date value in parameter file using Informatica post session command使用 Informatica 会话后命令替换参数文件中的日期值
【发布时间】:2018-12-24 13:48:15
【问题描述】:

我在参数文件中有参数 $$RUN_DATE=21/12/2018 和昨天的日期。在运行时,Informatica 会话覆盖会将数据从昨天的运行时提取到当前时间。运行 Informatica 会话后,必须在参数文件中替换 $$RUN_DATE。我试过下面的命令

sed -e 's,^($$RUN_DATE=).*,\1'"$(date +"%m%d%Y")"','

使用会话后命令任务,但在运行时,$$RUN_DATE 将被参数文件中的值替换。我可以为此提供解决方案吗?

提前致谢。

【问题讨论】:

  • 参数文件内容是什么?..请详细说明示例输入和预期输出
  • 它具有所有参数,如源连接、目标连接和所有其他工作流参数。我需要在每次会话运行结束时更新 $$RUN_DATE 参数。我有一个限制,我只需要使用参数文件。
  • 只分享param文件的前后快照,,,
  • 我正在尝试使用以下命令替换日期模式,但它会引发错误。 sed -i 's/"12/18/2018"/$(today %m%d%Y)' file.txt

标签: unix informatica


【解决方案1】:

这里的选项很少。您可以有一个读取参数文件并设置新值的会话。我想这会更明确。

如果您想使用 sed,您可以尝试转义 $ 符号:

sed -e 's,^($$RUN_DATE=).*,\1'"$(date +"%m%d%Y")"','

这样 Informatica 不应将其替换为参数值。

或者尝试跳过 $ 登录正则表达式定义并且不要挂接到行首:

sed -e 's,(RUN_DATE=).*,\1'"$(date +"%m%d%Y")"',' 

不过,这取决于参数文件的其余内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-03
    • 1970-01-01
    • 2014-08-29
    • 1970-01-01
    • 1970-01-01
    • 2018-10-30
    • 1970-01-01
    相关资源
    最近更新 更多