我在带有昨天日期的参数文件中有参数$$ RUN_DATE = 21/12/2018。在运行期间,Informatica会话覆盖将从昨天的运行时间提取数据到当前时间。运行Informatica会话后,必须在参数文件中替换$$ RUN_DATE。我已经尝试过以下命令
sed -e's,^($$ RUN_DATE =)。*,\ 1'“ $(date +”%m%d%Y“)”','
使用会话后命令任务,但是在运行时,$ RUN_DATE将替换为参数文件中的值。我可以为此解决办法吗?
谢谢。
答案 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内容。