Do you ever wish you could paste two (or even three) files side by
side? You can, if you have the System V
paste
program (or the
public-domain implementation on the disc).

For example,
to create a three-column
file
from files
x
,
y
, and
z
:

$
paste x y z > file

To make
paste
read standard input, use the
-
option, and
repeat
-
for every column you want.
For example, to make an old broken System V
ls
(which lists
files in a single column) list files in four columns:

$
ls | paste - - - -

The "standard input" option is also handy when used with
cut
(
35.14
)
.
You can cut data from one position on a line and paste it back on
another.

The separate data streams being merged are separated by default with
a tab, but you can change this with the
-d
option.
Unlike the
-d
option to
cut
, you need not specify a
single character; instead, you can specify a list of characters,
which will be used in a circular fashion.
(I haven't figured a use
for this - maybe you can.)

The characters in the list can be any regular
character or the following escape sequences:

\n

newline

\t

tab

\\

backslash

\0

empty string

Use
quoting (
8.14
)
,
if necessary, to protect characters from the shell.

There's also a
-s
option that lets you
merge subsequent lines from one file.
For example,
to merge each pair of lines onto a single line: