How To Combine Text Files Using The “cat” Command In Linux
Maybe your like
The cat command is very useful in Linux. It has three main functions related to manipulating text files: creating them, displaying them, and combining them.
Related: How to Quickly Create a Text File Using the Command Line in Linux
We've discussed using the cat command (among others) to create and view text files on the command line in Linux. But let's assume you have three text files: file1.txt, file2.txt, and file3.txt. You want to combine (or concatenate) them into one text file containing information from all three, in that order. You can do this with the cat command as well.
Simply open a Terminal and type the following command:
cat file1.txt file2.txt file3.txt
Obviously, replace the file names in the above example with your own.
The combined contents of the three text files will appear in your terminal.
Related: Become a Linux Terminal Power User With These 8 Tricks
Typically, though, you'll probably want to combine those text files into another text file, not just print the results to the screen. Luckily, this is very simple. All you need to do is add an output redirection symbol (>) after the list of files being concatenated, and then specify the name of the final text file.
cat file1.txt file2.txt file3.txt > file4.txt
NOTE: The file listed after the output redirection symbol will be overwritten, if it already exists. So, be careful when specifying the name of the combined text file. We'll show you later in this article how to append files to the end of an existing file.
If you open file4.txt (either with the cat command or with the text editor of your choice), you should find that it contains the text of the first three text files.
If you're combining lists of items from multiple files and you want them alphabetized in the combined file, you can sort the combined items in the resulting file. To do this, enter the basic cat command we previously showed you followed by the pipe command (|) and the sort command. Then, type the output redirection symbol (>) followed by the name of the file into which you want to copy the combined text. All the lines of text in the result file will be sorted alphabetically.
cat file1.txt file2.txt file3.txt | sort > file4.txt
As we mentioned earlier, there is also a way append files to the end of an existing file. Type the cat command followed by the file or files you want to add to the end of an existing file. Then, type two output redirection symbols (>>) followed by the name of the existing file you want to add to.
cat file5.txt >> file4.txt
If you want to add a bit of new text to an existing text file, you use the cat command to do it directly from the command line (instead of opening it in a text editor). Type the cat command followed by the double output redirection symbol (>>) and the name of the file you want to add text to.
How-To Geek Report
Unlock your tech-savvy potential and master the digital world with How-To Geek. SubscribeHow-To Geek Report
Unlock your tech-savvy potential and master the digital world with How-To Geek. Subscribe By subscribing, you agree to receive newsletter and marketing emails, and accept Valnet’s Terms of Use and Privacy Policy. You can unsubscribe anytime.cat >> file4.txt
A cursor will appear on the next line below the prompt. Start typing the text you want to add to the file. When you're done, press Enter after the last line and then press Ctrl+D to copy that text to the end of the file and quit cat.
Related: How to Get Help With a Command from the Linux Terminal: 8 Tricks for Beginners & Pros Alike
If you end up with a very long file once you combine your text files, you can use the pipe symbol with the less command when viewing the file in the Terminal window. For example, cat file4.txt | less. We discuss using the less command in this article.
| Linux Commands | |
| Files | tar · pv · cat · tac · chmod · grep · diff · sed · ar · man · pushd · popd · fsck · testdisk · seq · fd · pandoc · cd · $PATH · awk · join · jq · fold · uniq · journalctl · tail · stat · ls · fstab · echo · less · chgrp · chown · rev · look · strings · type · rename · zip · unzip · mount · umount · install · fdisk · mkfs · rm · rmdir · rsync · df · gpg · vi · nano · mkdir · du · ln · patch · convert · rclone · shred · srm · scp · gzip · chattr · cut · find · umask · wc · tr |
| Processes | alias · screen · top · nice · renice · progress · strace · systemd · tmux · chsh · history · at · batch · free · which · dmesg · chfn · usermod · ps · chroot · xargs · tty · pinky · lsof · vmstat · timeout · wall · yes · kill · sleep · sudo · su · time · groupadd · usermod · groups · lshw · shutdown · reboot · halt · poweroff · passwd · lscpu · crontab · date · bg · fg · pidof · nohup · pmap |
| Networking | netstat · ping · traceroute · ip · ss · whois · fail2ban · bmon · dig · finger · nmap · ftp · curl · wget · who · whoami · w · iptables · ssh-keygen · ufw · arping · firewalld |
RELATED: Best Linux Laptops for Developers and Enthusiasts
Tag » How To Merge Two Files In Linux
-
How To Join Two Text Files In Linux
-
Merge Two Files Line By Line In Linux | Baeldung On Linux
-
How To Merge Multiple Files Into One Single File In Linux - Lost Saloon
-
Combine Several Text Files Into A Single File In Unix - IU KB
-
Merging And Sorting Files On Linux - Network
-
How To Merge Multiple Files In Linux? - LinuxForDevices
-
Merge Files Line By Line | Linux# - Geek University
-
How To Combine Two Files In Linux - Fedingo
-
Bash Merge Two Files - Your Own Linux
-
Merging And Sorting Files In Linux: Easier Than You Think - TechGenix
-
How Do You Merge Two Files In UNIX?
-
How Would You Combine 2 Text Files With The Cat Command
-
Merge Two Files With Common IDs But Unequal Number Of Rows
-
How To Merge Two Text Files - Adobe