fish-shell/doc_src/psub.txt

30 lines
1.1 KiB
Plaintext
Raw Normal View History

\section psub psub - perform process substitution
\subsection psub-synopsis Synopsis
2014-08-01 20:25:41 +08:00
\fish{synopsis}
COMMAND1 (COMMAND2 | psub [-f])
\endfish
\subsection psub-description Description
Posix shells feature a syntax that is a mix between command
substitution and piping, called process substitution. It is used to
send the output of a command into the calling command, much like
command substitution, but with the difference that the output is not
sent through commandline arguments but through a named pipe, with the
filename of the named pipe sent as an argument to the calling
program. `psub` combined with a
regular command substitution provides the same functionality.
If the `-f` or `--file` switch is given to `psub`, `psub` will use a
regular file instead of a named pipe to communicate with the calling
process. This will cause `psub` to be significantly slower when large
amounts of data are involved, but has the advantage that the reading
process can seek in the stream.
\subsection psub-example Example
\fish
diff (sort a.txt | psub) (sort b.txt | psub)
# shows the difference between the sorted versions of files `a.txt` and `b.txt`.
\endfish