首页 > 解决方案 > 在不使用 Unix 命令的情况下在 UNIX 中读取文件(可能是 Datastage 例程)

问题描述

我在 Unix 路径中有一个文件,其中包含如下数据:2019-06-21,2019-06-22|2019-06-22,2019-06-23

我想阅读此日期并将其传递给 User Variable Activity 。

我不允许使用 ant Unix 命令读取文件。

我看了一些论坛,发现可以通过例程活动来完成,但不知道在哪里写例程以及例程名称是什么。

任何人都可以在这方面提供帮助

* open FinaltestOut.txt
OPENSEQ /home/shivam : '\' : FinaltestOut.txt TO H.FinaltestOut.txt THEN
CALL DSLogInfo("******************** File " : FinaltestOut.txt : " opened successfully", "JobControl")
END ELSE
CALL DSLogInfo("Unable to open file", "JobControl")
ABORT
END 

READSEQ FinaltestOut.txt.RECORD FROM H.FinaltestOut.txt ELSE
Call DSLogWarn("******************** File is empty", "JobControl")
END

firstline = Trim(FinaltestOut.txt.RECORD[1,32]," ","A") ******* will read the first 32 chars 
Call DSLogInfo("******************** Record read: " : firstline, "JobControl")
CLOSESEQ H.FinaltestOut.txt

标签: datastage

解决方案


第 1 步:您可以使用执行命令活动来分类此文件。第 2 步:然后使用用户变量活动来获取执行命令输出。第 3 步:使用 UV 活动中的 Field 函数来获取所需的字段。

注意:这里我们只在执行命令活动中使用 cat 命令。它是解决您的问题的简单方法。


推荐阅读