102 lines
1.5 KiB
Text
102 lines
1.5 KiB
Text
.TH CAT 1
|
|
.SH NAME
|
|
cat, read \- catenate files
|
|
.SH SYNOPSIS
|
|
.B cat
|
|
[
|
|
.I file ...
|
|
]
|
|
.br
|
|
.B read
|
|
[
|
|
.B -m
|
|
] [
|
|
.B -n
|
|
.I nlines
|
|
] [
|
|
.B -c
|
|
.I nbytes
|
|
] [
|
|
.I file ...
|
|
]
|
|
.SH DESCRIPTION
|
|
.I Cat
|
|
reads each
|
|
.I file
|
|
in sequence and writes it on the standard output.
|
|
Thus
|
|
.IP
|
|
.L
|
|
cat file
|
|
.LP
|
|
prints a file and
|
|
.IP
|
|
.L
|
|
cat file1 file2 >file3
|
|
.LP
|
|
concatenates the first two files and places the result
|
|
on the third.
|
|
.PP
|
|
If no
|
|
.I file
|
|
is given,
|
|
.I cat
|
|
reads from the standard input.
|
|
Output is buffered in blocks matching the input.
|
|
.PP
|
|
.I Read
|
|
copies to standard output exactly one line from the named
|
|
.IR file ,
|
|
default standard input.
|
|
It is useful in interactive
|
|
.IR rc (1)
|
|
scripts.
|
|
.PP
|
|
The
|
|
.B -m
|
|
flag causes it to continue reading and writing multiple lines until end of file;
|
|
.B -n
|
|
causes it to read no more than
|
|
.I nlines
|
|
lines.
|
|
.PP
|
|
With the
|
|
.B -c
|
|
flag,
|
|
.I read
|
|
copies exactly
|
|
.I nbytes
|
|
of characters instead of lines. It is mutually exclusive with
|
|
.B -n
|
|
and
|
|
.B -m
|
|
flag.
|
|
.PP
|
|
.I Read
|
|
always executes a single
|
|
.B write
|
|
for each line of input, which can be helpful when
|
|
preparing input to programs that expect line-at-a-time data.
|
|
It never reads any more data from the input than it prints to the output.
|
|
.SH SOURCE
|
|
.B /sys/src/cmd/cat.c
|
|
.br
|
|
.B /sys/src/cmd/read.c
|
|
.SH SEE ALSO
|
|
.IR cp (1)
|
|
.SH DIAGNOSTICS
|
|
.I Read
|
|
exits with status
|
|
.B eof
|
|
on end of file or, in the
|
|
.B -n
|
|
case, if it doesn't read
|
|
.I nlines
|
|
lines.
|
|
.SH BUGS
|
|
Beware of
|
|
.L "cat a b >a"
|
|
and
|
|
.LR "cat a b >b" ,
|
|
which
|
|
destroy input files before reading them.
|