Concatenate and print (display) the content of files.
Syntax cat [-benstuv] [-] [file ...] Options -b Number the non-blank output lines, starting at 1. -n Number the output lines, starting at 1. -s Squeeze multiple adjacent empty lines, causing the output to be single spaced. -u Disable output buffering. -v Displays non-printing characters so they are visible. Control characters print as `^X' for control-X; The delete character (octal 0177) prints as `^?' Non-ascii characters (with the high bit set) are printed as `M-' (for meta) followed by the character for the low 7 bits. -e Display non-printing characters and display a dollar sign ($) at the end of each line. -t Display non-printing characters and display tab characters as ^I at the end of each line. - Read from the standard input. cat exits 0 on success, and >0 if an error occurs.
The cat command can be piped into grep to find specific words in the file:
cat file.txt | grep keyword output.txt
However all modern versions of grep have this built-in. Running a single command/process is more efficient, and so with large files will be noticably faster:
grep keyword file.txt output.txt
grep can also display an entire file, (like cat), by using the grep keyword "." which will match lines with at least 1 character. Alternatively the grep keyword "^" will match the beginning of every line including blank lines.
When grep is used to display multiple files, it will prepend each line of output with the filename:
$ grep . *.txt
Examples:
Display a file:
$ cat myfile.txt
Display all .txt files:
$ cat *.txt
Concatenate two files:
$ cat File1.txt File2.txt > union.txt
If you need to combine two files but also eliminate duplicates, this can be done with sort unique:
$ sort -u File1.txt File2.txt > unique_union.txt
Put the contents of a file into a variable
$ my_variable=`cat File3.txt`
“To be nobody but yourself - in a world which is doing its best, night and day, to make you like everybody else - means to fight the hardest battle which any human being can fight, and never stop fighting” ~ E. E. Cummings
Related macOS commands:
cp - Copy one or more files to another location.
mv - Move or rename files or directories.
hexdump - View binary file.
tail - Output the last part of files.
textutil - Manipulate text files in various formats.
Stupid Cat tricks - by Mike Chirico.