CAT(1) User Commands CAT(1)
NAME
cat - concatenate and display files
SYNOPSIS
/usr/bin/cat /usr/bin/cat [
-nbsuvet] [
file...]
ksh93 cat [
-bdenstuvABDEST] [
file...]
DESCRIPTION
/usr/bin/cat The
cat utility reads each
file in sequence and writes it on the standard
output. Thus:
example%
cat file prints
file on your terminal, and:
example%
cat file1 file2 >file3 concatenates
file1 and
file2, and writes the results in
file3. If no
input file is given,
cat reads from the standard input file.
ksh93 The
cat built-in in
ksh93 is associated with the
/bin and
/usr/bin paths.
It is invoked when
cat is executed without a pathname prefix and the
pathname search finds a
/bin/cat or
/usr/bin/cat executable.
cat copies
each file in sequence to the standard output. If no file is specified, or
if the file is
-,
cat copies from standard input starting at the current
location.
OPTIONS
/usr/bin/cat The following options are supported by
/usr/bin/cat:
-b Number the lines, as
-n, but omit the line numbers from blank
lines.
-n Precede each line output with its line number.
-s cat is silent about non-existent files.
-u The output is not buffered.
Buffered output is the default.
-v Non-printing characters, with the exception of tabs, NEWLINEs and
form feeds, are printed visibly. ASCII control characters (octal
000 -
037) are printed as
^n, where
n is the corresponding ASCII
character in the range octal 100 - 137 (@, A, B, C, ..., X, Y, Z,
[, \, ], ^, and _); the
DEL character (octal
0177) is printed
^?.
Other non-printable characters are printed as
M-x, where
x is the
ASCII character specified by the low-order seven bits.
When used with the
-v option, the following options can be used:
-e A
$ character is printed at the end of each line, prior to the
NEWLINE.
-t Tabs are printed as
^Is and form feeds to be printed as
^Ls.
The
-e and
-t options are ignored if the
-v option is not specified.
ksh93 ksh93 cat supports the following options:
-b --number-nonblank Number lines as with
-n but omit line numbers
from blank lines.
-d --dos-input Open input files in text mode. Removes RETURNs
in front of NEWLINEs on some systems.
-e Equivalent to
-vE.
-n --number Insert a line number at the beginning of each
line.
-s Equivalent to
-S for
att universe and
-B otherwise.
-t Equivalent to
-vT.
-u --unbuffer Do not delay the output by buffering.
-v --show-nonprinting Cause non-printing characters (with the
exception of TABs, NEWLINEs, and form feeds) to
be output as printable character sequences.
ASCII control characters are printed as
^n,
where
n is the corresponding
ASCII character in
the range octal
100-
137. The DEL character
(octal
0177) is copied as
^?. Other non-
printable characters are copied as
M-x where
x is the
ASCII character specified by the low-
order seven bits. Multi-byte characters in the
current locale are treated as printable
characters.
-A --show-all Equivalent to
-vET.
-B --squeeze-blank Replace multiple adjacent NEWLINE characters
with one NEWLINE.
-D --dos-output Open output files in text mode. Insert RETURNs
in front of NEWLINEs on some systems.
-E --show-ends Insert a
$ before each NEWLINE.
-S --silent cat is silent about non-existent files.
-T --show-blank Copies TABs as
^I and form feeds as
^L.
OPERANDS
The following operand is supported:
file A path name of an input file. If no
file is specified, the
standard input is used. If
file is
-,
cat reads from the standard
input at that point in the sequence.
cat does not close and
reopen standard input when it is referenced in this way, but
accepts multiple occurrences of
- as
file.
USAGE
See
largefile(7) for the description of the behavior of
cat when
encountering files greater than or equal to 2 Gbyte ( 2^31 bytes).
EXAMPLES
Example 1: Concatenating a File
The following command writes the contents of the file
myfile to standard
output:
example%
cat myfile Example 2: Concatenating Two files into One
The following command concatenates the files
doc1 and
doc2 and writes the
result to
doc.all.
example%
cat doc1 doc2 > doc.all Example 3: Concatenating Two Arbitrary Pieces of Input with a Single
Invocation
When standard input is a terminal, the following command gets two
arbitrary pieces of input from the terminal with a single invocation of
cat:
example%
cat start - middle - end > file If standard input is a regular file,
example%
cat start - middle - end > file would be equivalent to the following command:
example%
cat start - middle /dev/null end > file because the entire contents of the file would be consumed by
cat the
first time
- was used as a
file operand and an end-of-file condition
would be detected immediately when
- was referenced the second time.
ENVIRONMENT VARIABLES
See
environ(7) for descriptions of the following environment variables
that affect the execution of
cat:
LANG,
LC_ALL,
LC_CTYPE,
LC_MESSAGES,
and
NLSPATH.
EXIT STATUS
The following exit values are returned:
0 All input files were output successfully.
>0 An error occurred.
ATTRIBUTES
See
attributes(7) for descriptions of the following attributes:
/usr/bin/cat +--------------------+-------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-------------------+
|CSI | Enabled |
+--------------------+-------------------+
|Interface Stability | Committed |
+--------------------+-------------------+
|Standard | See
standards(7). |
+--------------------+-------------------+
ksh93 +--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Interface Stability | See below. |
+--------------------+-----------------+
The
ksh93 built-in binding to
/bin and
/usr/bin is Volatile. The built-
in interfaces are Uncommitted.
SEE ALSO
touch(1),
attributes(7),
environ(7),
largefile(7),
standards(7)NOTES
Redirecting the output of
cat onto one of the files being read causes the
loss of the data originally in the file being read. For example,
example%
cat filename1 filename2 > filename1 causes the original data in
filename1 to be lost.
September 19, 2020
CAT(1)