aboutsummaryrefslogtreecommitdiffhomepage
path: root/doc_src/psub.txt
blob: 7f4dbedd4cddf4da02e3b72faf1047da8a58f63e (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
\section psub psub - perform process substitution

\subsection psub-synopsis Synopsis
 <tt>COMMAND1 (COMMAND2|psub [-f]) </tt>

\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. \c psub combined with a
regular command substitution provides the same functionality.

If the \c -f or \c --file switch is given to <tt>psub</tt>, \c psub will use a
regular file instead of a named pipe to communicate with the calling
process. This will cause \c 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

<tt>diff (sort a.txt|psub) (sort b.txt|psub)</tt> shows the difference
between the sorted versions of files a.txt and b.txt.