ptee(1) piped tee: read from one file descriptor and copy to many


ptee [-h] [-r infd] outfd1 [outfd2 ...]


ptee reads from one file descriptor (0 / stdin by default) and copies everything to all given output file descriptors. ptee is a piped version of tee(1).

ptee can be used with pipexec(1) to fit the output of one command into many other commands.


print help and version information
-r infd
use the given infd as input file descriptor. If this is not specified, 0 (stdin) is used.


Duplicate all data from stdin to stdout, stderr and fd 7:
    ptee 1 2 7

The command

    tee output.txt
is equivalent to the shell command
    ptee 5 5>output.txt

Using pipexec(1): count all files in the file system and additionally count only those that have a uppercase 'A' in their name. The file system will be scanned only once. No temporary files are generated.

    pipexec [ LS /bin/ls -R / ] [ PTEE /usr/bin/ptee 3 4 ] \
      [ WC1 /usr/bin/wc -l ] [ GREP /bin/grep A ] \
      [ WC2 /usr/bin/wc -l ] "{LS:1>PTEE:0}" "{PTEE:3>WC1:0}" \
      "{PTEE:4>GREP:0}" "{GREP:1>WC2:0}"


Written by Andreas Florath ([email protected])


Copyright © 2015 by Andreas Florath (andre[email protected]). License GPLv2+: GNU GPL version 2 or later <>.