Linux and Unix cat command tutorial with examples
Tutorial on using cat, a UNIX and Linux command for concatenating files and printing to standard output. Examples of showing the contents of a file, appending one file to another, and combining multiple files into one.
What is the cat command? ¶
The cat
command a command line utility for concatenating files and printing to
standard output. It may be used to show the contents of a file in the terminal,
to write the contents of one file to another and to combine multiple files into
one. It also supports adding line numbers, showing special characters and
squeezing blank lines.
How to show the contents of a file ¶
To show the contents of a file using cat
simply pass the name of the file or
files you want to view. The contents will be printed to standard output and
viewable in the terminal. The following example supposes that the file foo.txt
has a single line ‘Hello World’.
cat foo.txt
Hello world
If the content of a file is very long the contents will be written to the terminal. In this case it can be difficult to find certain parts of a file. When looking for specific content grep is probably a better option.
How to write the contents of a file to a new file ¶
To write the content of a file to a new file shell redirection can be used
with the cat
tool. The following example supposes that the file foo.txt
has
a single line with ‘Hello World’ and writes this into bar.txt
.
cat foo.txt > bar.txt
cat bar.txt
Hello world
Not only does this write the contents of foo.txt
to bar.txt
but it also
creates boo.txt
if it does not exist.
How to append the contents of a file to another file ¶
To append the contents of a file to another the shell redirection can again be
used. For this example we have two files beer.txt
and wine.txt
. The file
wine.txt
contains two lines.
cat wine.txt
Sancerre
Chablis
The file beer.txt
also contains two lines.
cat beer.txt
Side Pocket
Greene King IPA
The cat
tool can be used with shell redirection to write the contents of one
file to the end of another.
cat wine.txt >> beer.txt
cat beer.txt
Side Pocket
Greene King IPA
Sancerre
Chablis
How to combine multiple files into one ¶
To combine multiple files into one cat
can be used with shell redirection. The
following combines all files with the .txt
extension in a directory into one
file.
cat *.txt > combined.txt
How to add line numbers to the output of cat ¶
To add line numbers to the output of cat
pass the -n
option. This prepends
line numbers to the start of the line.
cat -n /usr/share/dict/words
1 A
2 a
3 aa
4 aal
5 aalii
How to show the end of lines ¶
To show the ends of lines using cat
pass the -E
option. This appends a $
character to the ends of lines. This can be useful to indicate if there are
trailing spaces for example.
cat -E example.txt
This line has no space at the end.$
This one does. $
How to squeeze blank lines ¶
To squeeze blank lines using cat
pass the -s
option. This squeezes the
number of blank lines to suppress repeated empty output lines. Suppose we have a
file with the following contents named blanks.txt
.
Line one
Line two
Line three
The cat
tool can remove repeated empty output lines with the -s
option.
cat -s blanks.txt
Line one
Line two
Line three
How to show tabs ¶
To show tabs using cat
pass the -T
option. This will show tabs as ^I
.
Suppose we have the following file saved as tabs.txt
.
One tab
Two tabs
Three tabs
The tabs can be shown with the -T
option.
cat -T tabs.txt
^IOne Tab
^I^ITwo tabs
^I^I^IThree tabs
Further reading ¶
Tags
Can you help make this article better? You can edit it here and send me a pull request.
See Also
-
Linux and Unix grep command tutorial with examples
Tutorial using grep, a UNIX and Linux command to print lines matching a pattern. Examples of finding text in a file, printing line numbers, counting the number of matches, searching recursively and ignoring case sensitivity. -
Linux and Unix tee command tutorial with examples
Tutorial on using tee, a UNIX and Linux command for copying standard input to standard output and making a copy to one or more files. Examples of writing to a file, appending to a file and writing to a privileged file. -
Linux and Unix uniq command tutorial with examples
Tutorial on using uniq, a UNIX and Linux command for reporting or filtering repeated lines in a file. Examples of showing a count of occurrences, showing only repeated lines and ignoring characters and specific fields.