---
name: "funnel"
section: "1"
platform: "linux"
package: "logtools"
version: "0.13e+nmu3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/funnel"
---

# funnel(1)

split one pipe stream to one or more files or programs

## NAME

funnel - split one pipe stream to one or more files or programs

## SYNOPSIS

**funnel \[\|\] \[\>\[\>\]file\] \[\|process\]**

## DESCRIPTION

The **funnel** program will read data from standard input and write it to several output streams.

The **\|** symbol means to copy standard input to standard output.

The **\>** symbol means that a file name immediately follows with no separating spaces, the file will be truncated if it exists or created if it doesn't. The **\>\>** means that the file is to be appended to if it exists.

A  **\|** symbol followed immediately by text indicates a command that is to be run by system() and will have all input piped to it.

## EXIT STATUS

**0** No errors

**1** Error opening input

Other errors are 100 + number of commands or files that fail

## AUTHOR

This program, its manual page, and the Debian package were written by Russell Coker \<russell@coker.com.au\>.

## FEATURES

Uses **popen (3)** for output so that shell expansion gets performed.  If you want such shell expansion then you must ensure that you quote the parameters correctly so that they get expanded by **popen (3)** not the shell that calls **funnel.**

## SEE ALSO

[**popen**(3)](/popen/3.md)
