How to Concatenate Files in Linux

Spread the love

Being able to combine various files together into one can be very helpful. You can arrange and sort out your desktop and combine several related documents into one. In Linux, there are several ways to concatenate files together. This tutorial shows all the ways to do it: they’re all pretty simple, really.

Content

Concatenating Files through the Command Line

The command line is the easiest way to concatenate files in Linux. All you need is the Linux terminal or a decent terminal emulator.

There are a few terminal commands that allow you to concatenate files in Linux:

  • cat
  • join
  • paste
  • sed

The most popular among them is the cat command. You can combine multiple files together into one by using the following format:

cat "file1.txt" "file2.txt" >> "file3.txt"

It can be done with other commands as well:

  • join command:
join file1.txt file2.txt > file3.txt

Note: your Linux system may ask for superuser privileges to use the join command. Add sudo before entering the join command to allow that.

  • paste command:
paste -d "" file1.txt file2.txt > file3.txt

  • sed command:
sed -e "r file2.txt" file1.txt > file3.txt

Concatenating Folders of Files

If you have a ton of files to concatenate, you can store them in folders and concatenate the contents of each folder into a single file. The only exception is the join command, which doesn’t allow you to do that.

These commands will allow you to concatenate folders of files:

  • Using cat command:
cat dog_folder/* > output_file.txt

  • Using paste command:
paste -d '' dog_folder/* > output_file.txt

  • Using sed command:
sed -s '' dog_folder/* > output_file.txt

These will concatenate all the files within the “dog_folder” into one file named “output_file.txt”. Do note that the order of concatenation when doing it with files grouped into folders is based on the file names: numerical first, then alphabetical.

Other Ways to Concatenate Files in Linux

Concatenation commands are great, but there are other ways that allow you to do it much faster – especially with video, audio, and PDF files. Unlike concatenation commands, however, these can be quite picky with the file type you’re using with them.

Using a Concatenation Program

While it won’t work with text files, FFmpeg will combine audio and video files. As a bonus, it can also convert files to your desired format.

Use PDFtk to concatenate PDF files together. See the following example:

pdftk file1.pdf file2.pdf cat output file3.pdf

Using a Web App

Another way to concatenate files on Linux is through a web app. While they inherently possess a security flaw (a spoofer can steal your data while you send it to the web app, for example), that flaw normally won’t be a big deal for most people who just want to combine pages 1 and 2 in their resumes.

One example is PDF Joiner. This web app allows you to drag up to 20 files into the white box and hit “Join Files” to concatenate them into one.

Some Limits of Concatenation

While incredibly useful, concatenation can lead to some confusing electronic jargon, especially when you concatenate files of a different format together.

For example: suppose you had two files: “strings.txt” and “image.png.” If you combined them together, you could get something that looked like a corrupt file.

A concatenated TXT and PNG file.

The rule of thumb is to only concatenate files of the same file type, and use an application that can handle that file type.

Frequently Asked Questions

How do I add a file with a space in its name on a Linux command line?

For Linux, you can write files with spaces by putting them in between quotation marks in the command line.

Why do I get a newline between characters when I concatenate text files?

Most text files end with a thing we call a “newline character.” For computers, this is a special character that says, “you’ve reached the end,” which signals text-editing programs to stop parsing text, as there’s no more at the end.

Subscribe to our newsletter!

Our latest tutorials delivered straight to your inbox

Sign up for all newsletters.
By signing up, you agree to our Privacy Policy and European users agree to the data transfer policy. We will not share your data and you can unsubscribe at any time. Subscribe


Terenz Jomar Dela Cruz

Terenz is a hobbyist roboticist trying to build the most awesome robot the world has ever seen. He could have done that already if he wasn’t so busy burning through LEDs as a second hobby.

Comments are closed