How to print or concatenate files in linux with cat command? (Advanced)
cat
is one basic and most used command by Linux users. It simply prints the contents of a file or STDIN as output on the terminal. But that is not the full power of cat
command. There are many advanced uses of cat
which are rarely known.
Check your top used commands using this command: history | awk '{CMD[$2]++;count++;}END { for (a in CMD)print CMD[a] " " CMD[a]/count*100 "% " a;}' | grep -v "./" | column -c3 -s " " -t | sort -nr | nl | head -n10
Based syntax of cat
command:
cat [OPTION]... [FILE]...
Description of options available in cat
command:
Options |
Descriptions |
-A , --show-all |
equivalent to -vET |
-b , --number-nonblank |
number non-empty output lines, overrides -n |
-e |
equivalent to -vE |
-E , --show-ends |
display $ at end of each line |
-n , --number |
number all output lines |
-s , --squeeze-blank |
suppress repeated empty output lines |
-t |
equivalent to -vT |
-T , --show-tabs |
display TAB characters as ^I |
-v , --show-nonprinting |
use ^ and M- notation, except for LFD and TAB |
Show line number with cat
command in Linux
To display line numbers in front of each line with cat
command we use the -n
(--numbe
r) option.
Syntax: cat -n <fileName>
To display line numbers in front of each non-empty line with cat
command we use the -b
(--number-nonblank
) option.
Syntax: cat -b <filename>
or cat -n -b <filename>
Show all characters with cat
command in Linux
To display non-printable characters with cat
command we have the following options: -A
, -v
, -E
, -T
.
Non-printable characters are parts of a character set that do not represent a written symbol or part of the text within a file or code. These characters tells a program like cat
about how a document is supposed to look.
1. Show end character at the end of each line with cat
command in Linux
To display $
after the last character of each line with cat command we use the -e
(--show-ends
) option.
Syntax: cat -E <filename>
2. Show TAB character with cat
command in Linux
To display TAB characters as ^I
with cat
command use the -T
(--show-tabs
) option.
Syntax: cat -T <filename>
3. Show non-printing characters with cat
command in Linux
To display Non-printable characters which use ^
and M-
notation, except for LFD and TAB (e.g. color deciding characters) use -v
(--show-nonprinting
) option.
Syntax: cat -v <filename>
Tip
: -A
is equivalent to -vET
and -t
is equivalent to -vT
and -e
is equivalent to -vE
.
Remove repeated empty lines with cat
command in Linux
To suppress annoying repeated empty lines with cat
command with -s
(--squeeze-blank
)option.
Syntax: cat -s <filename>
Conclusion
In this tutorial, you have learned some advanced usage of cat command. To show line numbers, non-printable characters and squeeze unwanted empty lines.