如何在 Linux 中使用“cat”命令合并文本文件

cat 命令在 Linux 中非常有用。它具有三个与操作文本文件相关的主要功能:创建它们、显示它们和组合它们。
我们已经讨论了在 Linux 中使用 cat 命令(以及其他命令)在命令行上创建和查看文本文件。但我们假设您有三个文本文件:file1.txt、file2.txt 和 file3.txt。您想要将它们合并(或连接)到一个文本文件中,其中包含所有三个信息的顺序。您也可以使用 cat 命令执行此操作。
只需打开终端并输入以下命令:
cat file1.txt file2.txt file3.txt
显然,将上面示例中的文件名替换为您自己的文件名。
这三个文本文件的组合内容将出现在您的终端中。

不过,通常情况下,您可能希望将这些文本文件合并到另一个文本文件中,而不仅仅是将结果打印到屏幕上。幸运的是,这非常简单。您需要做的就是在要连接的文件列表之后添加一个输出重定向符号 (>
),然后指定最终文本文件的名称。
cat file1.txt file2.txt file3.txt > file4.txt
注意:输出重定向符号后列出的文件如果已经存在,将被覆盖。因此,在指定组合文本文件的名称时要小心。我们将在本文后面向您展示如何将文件追加到现有文件的末尾。
如果您打开 file4.txt(使用 cat 命令或您选择的文本编辑器),您应该会发现它包含前三个文本文件的文本。

如果您正在组合多个文件中的项目列表,并且希望它们在组合文件中按字母顺序排列,您可以对结果文件中的组合项目进行排序。为此,请输入我们之前向您展示的基本 cat
命令,然后输入管道命令 (|) 和 sort
命令。然后,键入输出重定向符号 (>
),然后键入要将组合文本复制到其中的文件的名称。结果文件中的所有文本行将按字母顺序排序。
cat file1.txt file2.txt file3.txt | sort > file4.txt

正如我们前面提到的,还有一种方法可以将文件附加到现有文件的末尾。键入 cat
命令,后跟要添加到现有文件末尾的一个或多个文件。然后,键入两个输出重定向符号 (>>
),然后键入要添加到的现有文件的名称。
cat file5.txt >> file4.txt

如果要向现有文本文件添加一些新文本,可以使用 cat
命令直接从命令行执行此操作(而不是在文本编辑器中打开它)。键入 cat
命令,后跟双输出重定向符号 (>>>
) 和要向其添加文本的文件的名称。
cat >> file4.txt
光标将出现在提示下方的下一行。开始键入要添加到文件中的文本。完成后,在最后一行后按 Enter,然后按 Ctrl+D 将该文本复制到文件末尾并退出 cat。

如果合并文本文件后得到的文件很长,则可以在终端窗口中查看文件时使用管道符号和 less 命令。例如,cat file4.txt |少
。我们在本文中讨论使用 less 命令。
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 | |
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