|not intending to be intrusive, just trying to help (it clarifies my own mind somwhat)|
(in this case, "nn" is __)
yields all var.s currently existing (local or global) that begin with nn, so
first step, wipe out all the ones he's going to use (__xxxx)
that way no existing ones can conflict with the local arena.
next, for each file, for each line, for column 6 (determ by ","):
the contents of column 6 become a var.name (preceded by __ to set them
off from all the other environment vars). f/e: col. 6 in context: 1,2,a,b,z,AA,blah
creates and/or increments a var called __AA whose value incr. by 1 each time
AA is encountered.
finis: just display all var.s beginning with __ (I would have cheated, and just said:
which would have yielded display like:
but he was more polite than me, so he cleaned it up:
(notes: null delimited tokens are NOT passed as null. so f/e:
does not yield the intuitive result of nul for %%a, nul for %%b, 2 for %%c,
it yields 2 for %%a!
I have no idea why they did it this way, any more than why they had batch to
skip null lines. null is data (at least, if it's delimited by something), just like anything else! why discrminate? it would
have been MUCH better to have done it the other way im(uneducated)Opin.
Now we are reduced to using "find /n" to grab null lines, and idontknowwhat
to grab null-data-tokens. end-of-rant, apologies. (also aplg. for length of post)