The Linux cat command is one of the most versatile tools that can use to create files, view them, and even combine them in the Linux command line.
In this article, we take a detour and explore how you can join two text files in Linux using the cat command, (short for “concatenate”) is one of the most commonly used commands in Linux as well as other UNIX-like operating systems, used to concatenate files and print on the standard output.
It is not only used to view files but can also be used to create files together with the redirection character.
View Contents of File in Linux
Suppose you have three text files: sample1.txt, sample2.txt, and sample.3.txt.
To view the contents of these files without opening them, you can use the cat command as shown (remember to replace sample1.txt
, sample2.txt
and domains3.txt
with the names of the files you wish to combine):
$ cat sample1.txt sample2.txt sample3.txt
This provides the following output, with each line in the output corresponding to the files in order of appearance.
Join Contents of Three Files in Linux
To join the three files into one text file, we will use the output redirection operator (>)
to redirect output from all the files to a new file. In this example, we have redirected content from all three files to sample4.txt.
$ cat sample1.txt sample2.txt sample3.txt >
sample4.txt
The new file now contains content from all the text files, which you can verify by running the following command.
$ cat sample4.txt
A better option is to append the content of the files to an already existing file. This prevents the deletion of pre-existing content. To achieve this, use the double redirection operator (>>)
followed by the file name of the file you want to append the content.
The previous command can be modified as follows:
$ cat sample1.txt sample2.txt sample3.txt >>
sample4.txt
This ensures that the existing file is not overwritten. Instead content from the other files is simply added or appended to it.
Append File Contents to New File in Linux
Alternatively, to append content to the file, simply type the cat command followed by the double redirection operator and then the name of the file. Upon pressing ENTER, type in the content you want to add. Then hit ENTER again and press ctrl + d
to save the changes made.
Merge Contents of Files Using Sed Command
Alternatively, you can also use the popular sed
(a streamer editor) to join or merge the content of two or more files on the command-line, by using its r
flag, which instructs sed
to read the file provided as an argument. If there are many files, it reads all of them and displays their content as a combined output.
$ sed r sample1.txt sample1.txt sample3.txt
$ sed r sample1.txt sample1.txt sample3.txt >
sample4.txt $ cat sample4.txt
That was a short guide on how you can join two or more text files on Linux. Any additional ideas you might have up your sleeve? Do let us know in the comment section.