So that means you need to buffer possibly all of your input records before you know you don't want them? You can trigger 'dam' to decide whether you let the data pass, something like this:
callpipe (end \) \ i: fanin | d: dam \ *: | x: locate ,*, | take | i: \ x: | buffer | d: | *: Assuming you want to discard the record with the * in it, if not you'd use a 'fanout' to retain the full copy. But I have a feeling you'd end up with different requirements when you've thought this through. Sir Rob the Plumber On 8 December 2017 at 20:58, James Vincent <[email protected]> wrote: > I am hitting a wall trying to figure out how to do this elegantly and am > betting someone knows. > > I have a pipe of records and want to select all the records only if "*" is > not in the stream. If "*" is in the stream, then only select that one. > > For instance: > > abc > 123 > * > > Result should be: * But if * is missing, then the result is abc and 123 > > Any thoughts? > > -- *James Vincent* > -- Calendar: http://tinyurl.com/JSVCalWeek >
