如何从 unix sed 命令读取大型机文件?
How to read mainframe file from unix sed command?
我正在尝试通过 'sed' 读取大型机文件,但无法读取。
此脚本是从大型机 JCL 调用的,因此它内置了 tcsh。
sed -n '1,10p' mainframeFile
不会产生任何结果,因为它无法读取。
当您提到大型机文件时,我假设您指的是 MVS 文件而不是 USS 文件,因为 USS 文件与任何其他文件一样为 sed
指定。
sed
不能直接使用,您可以使用此黑客通过使用 cat
并将其泵送到标准输出和管道来使其工作。阅读下文了解有关 MVS 数据集和命令行实用程序的更多信息。它还包含有关如何在 cat
.
等 USS 命令中指定 MVS 数据集的参考资料
我在本地系统上试过了,它与这个 sed
命令一起工作。
cat "//'USER1.TEST.CNTL(JOBCARD)'"
// JOB (CCCCCCCC),'HOGSTROM',
// MSGLEVEL=(1,1),
// MSGCLASS=O,
// CLASS=A,
// NOTIFY=&SYSUID
cat "//'USER1.TEST.CNTL(JOBCARD)'" | sed 's/JOB/BOB/'
// BOB (CCCCCCCC),'HOGSTROM',
// MSGLEVEL=(1,1),
// MSGCLASS=O,
// CLASS=A,
// NOTIFY=&SYSUID
为什么不在 sed
中?
在命令行上支持 MVS 文件名的实用程序有限。 article from IBM 概述了支持的实用程序。
很遗憾,sed 不在列表中
The following utilities support the use of MVS™ file names.
Consult the description for each utility for limitations and exceptions:
- automount
- c89
- cp
- mv
- pax
- tar
MVS data sets that are defined with DSNTYPE=LARGE are not supported.
本节讨论访问 MVS files in USS
我正在尝试通过 'sed' 读取大型机文件,但无法读取。 此脚本是从大型机 JCL 调用的,因此它内置了 tcsh。
sed -n '1,10p' mainframeFile
不会产生任何结果,因为它无法读取。
当您提到大型机文件时,我假设您指的是 MVS 文件而不是 USS 文件,因为 USS 文件与任何其他文件一样为 sed
指定。
sed
不能直接使用,您可以使用此黑客通过使用 cat
并将其泵送到标准输出和管道来使其工作。阅读下文了解有关 MVS 数据集和命令行实用程序的更多信息。它还包含有关如何在 cat
.
我在本地系统上试过了,它与这个 sed
命令一起工作。
cat "//'USER1.TEST.CNTL(JOBCARD)'"
// JOB (CCCCCCCC),'HOGSTROM',
// MSGLEVEL=(1,1), // MSGCLASS=O,
// CLASS=A,
// NOTIFY=&SYSUID
cat "//'USER1.TEST.CNTL(JOBCARD)'" | sed 's/JOB/BOB/'
// BOB (CCCCCCCC),'HOGSTROM',
// MSGLEVEL=(1,1),
// MSGCLASS=O,
// CLASS=A,
// NOTIFY=&SYSUID
为什么不在 sed
中?
在命令行上支持 MVS 文件名的实用程序有限。 article from IBM 概述了支持的实用程序。
很遗憾,sed 不在列表中
The following utilities support the use of MVS™ file names.
Consult the description for each utility for limitations and exceptions:
- automount
- c89
- cp
- mv
- pax
- tar
MVS data sets that are defined with DSNTYPE=LARGE are not supported.
本节讨论访问 MVS files in USS