On Fri, 5 Feb 2016 00:16:41 -0600, Ed Gould wrote:
>
>The part I think you are missing is that cat and grep and awk are
>system commands and as such are included in UNIX
>Z/OS has no real equivalence (unless you are talking OE then that is
>a whole separate discussion). 
>
Actually, IEBGENER for "cat"; ISRSUPC SRCHFOR for "grep"; and IRXJCL
for "awk".  Tom's example was schematic, intended to use language
with which UNIX partisans would be familiar.

>Please compare apple to apples. Not your wish list.
> 
I believe I contrasted the behavior of JCL with UNIX shell.  The statement
in the material you quoted that might most readily be seen as a "wish"
was: "I do see lack of temporary data sets as a design flaw of UNIX."
Is that what you were referring to?


>On Feb 4, 2016, at 4:08 PM, Paul Gilmartin wrote:
>
>> On Thu, 4 Feb 2016 15:30:53 -0600, Ed Gould wrote:
>>
>>> On Feb 4, 2016, at 2:00 PM, Tom Brennan wrote:
>>>>
>>>> Unix Style:
>>>>
>>>> cat /etc/passwd | grep ^ted013: | awk -F':' '{print $3}'
>>>>
>>>> JCL Style:
>>>>
>>>> //CAT      EXEC PGM=CAT
>>>> //SYSUT1   DD   DSN=SYS1.ETC.PASSWD,DISP=SHR
>>>> //SYSUT2   DD   DSN=&TEMP1,DISP=(NEW,PASS),SPACE=(CYL,(1,1))
>>>> //*
>>>> //GREP     EXEC PGM=GREP
>>>> //SYSUT1   DD   DSN=&TEMP1,DISP=(OLD,DELETE)
>>>> //SYSUT2   DD   DSN=&TEMP2,DISP=(NEW,PASS),SPACE=(CYL,(1,1))
>>>> //SYSIN    DD   *
>>>>  ^ted013:
>>>> /*
>>>> //AWK      EXEC PGM=AWK
>>>> //SYSUT1   DD   DSN=&TEMP2,DISP=(OLD,DELETE)
>>>> //SYSUT2   DD   SYSOUT=*
>>>> //SYSIN    DD   *
>>>>  awk -F':' '{print $3}'
>>>> /*
>>>> unix :)-------------------------------------SNIP-----------------
>>>
>>> To be fair to zOS There are "probably" the same files needed for UNIX
>>> its just they are "assumed".
>>>
>> No, they are not; not even as RAM disk files.  A pipe communicates directly
>> between processes (like "tasks").  A DOS partisan once explained his
>> misunderstanding of pipes to me that way:
>>
>>     CAT reads /etc/passwd and writes to temporary file TEMP1.
>>     When CAT terminates, GREP reads TEMP1 and writes TEMP2
>>     When GREP terminates, AWK reads TEMP2 and writes to stdout.
>>
>> Tom's JCL is actually:
>>
>>     cat /etc/passwd >temp1; grep ^ted013 <temp1 >temp2; awk -F':'
>> '{print $3}'; rm temp1 temp2
>>
>> In Tom's UNIX example, the stages run concurrently.  This can make
>> a big
>> difference if the first stage is long-running: you see output
>> before it terminates
>> (subject to some annoying buffer latency).
>>
>> I could (and have) connected Classic OS programs with POSIX pipes
>> in Rexx.
>> That takes more than 16 lines.  (You could omit the comments and
>> endfiles.)
>>
>> I do see lack of temporary data sets as a design flaw of UNIX.

-- gil

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to