Contents | < Browse | Browse >
Have you ever tried to view the output of a command with an external
text viewer ? Then you probably have tried something like:

    List >T:listing -r dh0: ; MuchMore T:listing ; delete T:listing

(You do not need spaces before and after semicolons)
Using anonymous pipes you simply have to type:

    List -r dh0: | MuchMore

The "|" character is the pipe symbol. This is why they are called
ANONYMOUS pipes: You do not have to specify a filename.
You can leave out the space after "|", but you need to keep the one
before the pipe symbol.
In the above example MuchMore stands RIGHT to the pipe symbol. This means
that it gets its input from the output of the command LEFT to the pipe
symbol. You can simulate this by "MuchMore <T:listing" instead of
"MuchMore T:listing".
Not every command supports reading its input from an input redirection,
so not every command can stand RIGHT to | . All commands can be placed
LEFT to | , but with those having no output it does not make sense.

You can use multiple | in one line like:

    List -r dh0: |UUencode |MuchMore

The List command will pass its output to UUencode, this will modify the
data and outputs it to MuchMore which will display the modified output
of the List command.
Commands, like UUencode, which read data from input, modify it and
output the modified data are called  filters . They are usually used
RIGHT to or BETWEEN pipe symbols.
Using pipes and filters it is easy to process streams of data like:

    filter1 <infile | filter2 | filter3 | filter4 >outfile

You cannot put multiple commands between pipe symbols, like
    List |UUencode;MuchMore |MuchMore
This will be interpreted as "List |UUencode" and "MuchMore |MuchMore".