Linux中的cat命令不仅有助于创建文本文件,显示其内容,还有助于合并来自两个或多个文本文件的文本。 然后可以将合并的文本保存到另一个文本文件中。 在本教程中,您将学习如何使用cat命令将两个或多个文件中的文本合并为一个文件。 这将帮助您从普通初学者获得Ubuntu上的高级用户状态。 我们在Ubuntu 18.04 LTS系统上运行了本教程中提到的命令。
我们在本文中提供一些示例,它们将帮助您在以下四种方案中理解cat命令的正确用法:
将多个文本文件中的文本合并到单个文本文件中。
合并多个文件中的文本,并按字母顺序将输出保存到另一个文件。
将文本从一个文本文件追加到另一个文本文件
将文本从Ubuntu终端直接附加到文本文件。
注意:在更改内容之前备份重要文件是一种很好的做法。
示例1:将三个文件中的文本合并到另一个文本文件中我们在系统上创建了三个示例文本文件,名称为linuxidc1.txt,linuxidc2.txt和linuxidc3.txt。 所有这些文件都包含一行文本。 以下使用CAT命令将在单个输出中显示所有这些文件中的文本。
通过按CTRl + Alt + T或通过Dash打开Ubuntu终端,然后输入以下命令:
$ cat [file1.txt] [file2.txt] [file3.txt]
实例:
linuxidc@linuxidc:~/Linux公社/www.linuxidc.com$ cat linuxidc1.txt linuxidc2.txt linuxidc3.txt
linuxidc1
linuxidc2 linuxidc.com
linuxidc3 m.linuxidc.com
在下图中,您可以看到我的三个文本文件的输出如何作为单个合并输出打印:
使用cat命令合并三个文本文件
Linux允许您使用以下语法将命令的输出打印到文件:
$ [command] > [filename]
让我们使用此命令和cat命令将文本从三个不同的文本文件保存到新的文本文件:
$ cat [file1.txt] [file2.txt] [file3.txt] > [file4.txt]
实例:
linuxidc@linuxidc:~/Linux公社/www.linuxidc.com$ cat linuxidc1.txt linuxidc2.txt linuxidc3.txt > linuxidc4.txt
linuxidc@linuxidc:~/Linux公社/www.linuxidc.com$ cat linuxidc4.txt
linuxidc1
linuxidc2 linuxidc.com
linuxidc3 m.linuxidc.com
在下图中,我将合并后的文本从我的三个文件保存到新文件linuxidc4.txt; 然后我将新文件的内容打印到屏幕上供您查看:
将3个文件合并到第四个文件中
请记住,如果系统中已存在目标文本文件,则其内容将被覆盖。
示例2:合并三个文件中的文本,并按字母顺序将输出保存到另一个文件假设你有三个文本文件; 每个都包含一些文字。 您希望合并所有三个文本并将输出保存到第四个文件,但按字母顺序排列。 这是你将如何做到这一点:
$ cat [file1.txt] [file2.txt] [file3.txt] | sort > [file4.txt]
实例:
linuxidc@linuxidc:~/Linux公社/www.linuxidc.com$ cat linuxidc1.txt
c-linuxidc1
linuxidc@linuxidc:~/Linux公社/www.linuxidc.com$ cat linuxidc2.txt
b-linuxidc2 linuxidc.com
linuxidc@linuxidc:~/Linux公社/www.linuxidc.com$ cat linuxidc3.txt
a-linuxidc3 m.linuxidc.com
linuxidc@linuxidc:~/Linux公社/www.linuxidc.com$ cat linuxidc1.txt linuxidc2.txt linuxidc3.txt > linuxidc4.txt
linuxidc@linuxidc:~/Linux公社/www.linuxidc.com$ cat linuxidc4.txt
在下图中,您可以查看每个文本文件中的文本。 如果我只是将文本组合到一个新文件linuxidc4.txt,输出将如下所示:
c-linuxidc1
b-linuxidc2 linuxidc.com
a-linuxidc3 m.linuxidc.com
合并文本文件
但是,我希望按字母顺序排序的输出打印到我的文本文件中,因此我将使用以下命令:
$ cat linuxidc1.txt linuxidc2.txt linuxidc3.txt | sort > linuxidc5.txt
实例:
linuxidc@linuxidc:~/Linux公社/www.linuxidc.com$ cat linuxidc1.txt linuxidc2.txt linuxidc3.txt | sort > linuxidc5.txt
linuxidc@linuxidc:~/Linux公社/www.linuxidc.com$ cat linuxidc5.txt
输出:
a-linuxidc3 m.linuxidc.com
b-linuxidc2 linuxidc.com
c-linuxidc1
您可以看到我新创建的linuxidc5.txt如何包含来自我的三个源文件的合并和排序文本。
示例3:将文本从一个文本文件附加到另一个文本文件cat命令还可用于将文本从源文件追加到目标文件,而不会弄乱后者的内容。
这是一个示例目标文件:
示例文本文件
这是一个示例源文件:
示例源文件
附加文本的语法:
$ [sourcefile.txt] >> [destinationfile.txt]
实例:
cat linuxidc5.txt >> linuxidc4.txt
以下是我将源文件中的文本附加到其后的目标文件的样子:
将文本附加到文件
示例4:将文本从终端直接附加到文件如果要从命令行附加一些文本,在现有文本文件的末尾,可以使用以下语法:
$ cat >> [linuxidc.txt]
实例:
linuxidc@linuxidc:~/Linux公社/www.linuxidc.com$ cat >> linuxidc4.txt