aboutsummaryrefslogtreecommitdiffhomepage
path: root/doc_src/psub.txt
blob: 62c09be0bca97495bc64283f81fa62549d26312e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
\section psub psub - perform process substitution

\subsection psub-synopsis Synopsis
\fish{syn}
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

`diff (sort a.txt|psub) (sort b.txt|psub)` shows the difference
between the sorted versions of files a.txt and b.txt.