我想针对 zOS 数据集运行搜索,并且我知道如何编写 grep 命令。我可以通过 Unix 系统服务访问机器,如何从该环境处理数据集?
答案1
无需先 cp。您可以 cat、tail、grep 等。要记住的是特殊引号,并且 DSN 前面有两个斜杠:
cat“//'s052WX.EO.REXX(MYREXXSOURCE)'”| grep 解析
如果您查看 UNIX 命令参考手册中的 cp 命令,则会发现更多信息。
答案2
我们谈论的数据集有多大?
Unix 系统服务cp
命令可以将数据集作为源,将 Unix 文件(或目录)作为目标,因此可以想象,如果数据集足够小,您可以将其复制到文件中并grep
随心所欲地处理。
另外,如果你可以ISPF
在 z/OS 机器上打开数据集,你可能需要考虑使用查找索引(它为 ISPF 提供了基本的正则表达式功能)——但我自己从未使用过它,所以我不能保证它是否有效。
答案3
现在你可以使用dgrep
命令
正如手册所述:
“在所有数据集(分区和顺序)中搜索与一个或多个数据集模式匹配的模式”
语法:
dgrep [-hinvd] [-C<num>] <pattern> [<dataset-pattern>]+
-h: syntax
-i: ignore case
-n: display line numbers
-v: print names of datasets being searched
-d: print debug messages
-C: display <num> lines of context around a match
例如:
$ dgrep DSALET36 IBMUSER.*.ISPPROF
IBMUSER.SYSTEM.ISPF.ISPPROF ISRLLIST 34
更多应用和示例: 这里
答案4
- z/OS 支持 UNIX (单一 UNIX 规范) API 和应用程序通过美国海军(乌尼克斯年代系統年代服务)。
- Open Group 认证 z/OS 为兼容 UNIX 操作系统 – 具有 UNIX/Linux 风格的分层 HFS 和 zFS 文件系统。