使用Informatica发布会话命令

时间:2018-12-24 13:48:16

标签: unix informatica

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

  

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

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

谢谢。

1 个答案:

答案 0 :(得分:0)

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

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

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

通过这种方式,Informatica不应将其替换为参数值。

或者尝试跳过正则表达式定义中的$符号,并且不要挂在行首:

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

但这取决于您的其他paramfile内容。