Here you are, you've written a nice filter that reads data from cmd^.in and you want to give it some data. In the easy case, the data is in one file and you can use the CommandTool's input redirection (``<'') facility. What if your data is spread across several files? What you want to do is concatentate those files together and feed them into a pipeline to your filter. The ``cat'' command does just that. It takes a list of file names and concatentates their contents onto cmd^.out, so you can pipe it to whatever you want.
As a special case, if any of the file names is a single dash (`-'), cmd^.in will be concatentated at that point. Thus for pipelines where there are some fixed sources and some sources from previous filters, one might want to use:
filter1 ... | cat source1 source2 - source3 | filter2 ...
which will concatenate the contents of source1, the contents of source2, the output of filter1, and the contents of source3 and ship that off to filter2.
You are hereby warned that Cedar doesn't have a way of typing an end-of-file character from the keyboard (that I could find), so you shouldn't try to cat from the CommandTool's top cmd^.in.