将多个输入文件分类为单个输出文件,并带有尾标标记每个输入文件的结束位置?

Posted

技术标签:

【中文标题】将多个输入文件分类为单个输出文件,并带有尾标标记每个输入文件的结束位置?【英文标题】:Sorting Multiple Input Files Into Single Output File with Trailer Marking Where Each Input File Ended? 【发布时间】:2020-08-10 20:28:07 【问题描述】:

假设我有 2 个不包含标题或尾记录的输入文件,我想将它们分类为单个输出文件。有没有办法在每个输入文件的末尾为输出文件添加一个预告片记录?

例子:

Input 1
-------
file 1 rec 1
file 1 rec 2
file 1 rec 3
Input 2
-------
file 2 rec 1
file 2 rec 2
file 3 rec 3
Output File
-----------
file 1 rec 1
file 1 rec 2
file 1 rec 3
End of file 1
file 2 rec 1
file 2 rec 2
file 3 rec 3
End of file 2

此代码只会在输出文件的末尾添加单个预告片。

SORT FIELDS=COPY
   OUTFIL REMOVECC,
   TRAILER1=(1:'END OF FILE')

谢谢大家!

【问题讨论】:

【参考方案1】:
//LRECL001 EXEC PGM=SORT
//SYSOUT   DD  SYSOUT=*
//SYSIN    DD  *
 SORT FIELDS=COPY
//SORTIN   DD  *
End of file 1
//SORTOUT  DD  DISP=(,PASS,DELETE),
//             LRECL=[lrecl for file 1],
//             [other DD parameters as needed]
//*
//LRECL002 EXEC PGM=SORT
//SYSOUT   DD  SYSOUT=*
//SYSIN    DD  *
 SORT FIELDS=COPY
//SORTIN   DD  *
End of file 2
//SORTOUT  DD  DISP=(,PASS,DELETE),
//             LRECL=[lrecl for file 2],
//             [other DD parameters as needed]
//*
//CONCATN8 EXEC PGM=SORT
//SYSOUT   DD  SYSOUT=*
//SYSIN    DD  *
 SORT FIELDS=COPY
//SORTIN   DD  DISP=SHR,DSN=FILE1
//         DD  DISP=(OLD,DELETE),DSN=*.LRECL001.SORTOUT
//         DD  DISP=SHR,DSN=FILE2
//         DD  DISP=(OLD,DELETE),DSN=*.LRECL002.SORTOUT
//SORTOUT  DD  DISP=(,CATLG,DELETE),
//             DSN=FILES.ONE.AND.TWO,
//             [and so forth]

【讨论】:

感谢您的回复。我可以在我的输入文件中添加嵌入的文本或数据,但不能同时添加两者。如果我按照您的建议进行操作,由于连接的输入文件 lrecl 不相等,我会收到 U0016 有趣地将其分解为多个步骤。谢谢。

以上是关于将多个输入文件分类为单个输出文件,并带有尾标标记每个输入文件的结束位置?的主要内容,如果未能解决你的问题,请参考以下文章

关于任意输入结束的问题(转)

如何将多个 XML 文件解析为多个 CSV 文件?

是否可以将多个管道组合到 Neuraxle 或 sklearn 中的单个估计器中以创建多输出分类器并一次性适应

将多个 JSON 文件合并为单个 JSON 和 parquet 文件

遍历 CSV 的每一行并使用 Python-Pandas 写入文件夹中的单个 JSON 文件

使用python在单个字符串中突出显示并保存多个单词