在Linux中把文本文件串联或合并成一个单一的文件

评论 0 浏览 0 2019-09-02

1.概述

Linux为我们提供了对文件进行各种操作的命令。其中一项活动是串联--或合并--文件。

在这个快速教程中,我们将看到如何将文件串联成一个单一的文件

2.介绍 cat 命令

要连接文件,我们将使用cat(连接的简称)命令

假设我们有两个文本文件,A.txtB.txt

A.txt

Content from file A.

B.txt

Content from file B.

现在,让我们把这些文件合并到文件C.txt中。

cat A.txt B.txt > C.txt

cat 命令连接文件并将结果打印到标准输出。因此,为了将连接的输出写入文件,我们使用了输出重定向符号 '>'. 这会将串联的输出发送到指定的文件。

上面的脚本将用连接的内容创建文件C.txt

Content from file A.
Content from file B.

请注意,如果文件C.txt已经存在,它将被简单地覆盖

有时,我们可能想把内容追加到输出文件中,而不是覆盖它。我们可以通过使用双重输出重定向符号>>来实现。

cat A.txt B.txt >> C.txt

上面的例子是串联两个文件。但是,如果我们想串联两个以上的文件,我们要一个接一个地指定所有这些文件。

cat A.txt B.txt C.txt D.txt E.txt > F.txt

这将按照指定的顺序串联所有文件。

3.使用通配符串联多个文件

如果要串联的文件数量很多,输入每个文件的名称是很麻烦的。因此,我们可以使用通配符来指定文件,而不是指定要串联的每个文件。

例如,要连接当前目录下的所有文件,我们可以使用星号(*)通配符。

cat *.txt > C.txt

如果输出文件已经存在,我们在使用通配符时必须小心 -如果指定的通配符包括了输出文件,我们会得到一个错误:

cat: C.txt: input file is output file

值得注意的是,当使用通配符时,文件的顺序是不可预测的。因此,如果文件串联的顺序很重要,我们就必须采用我们在上一节中看到的方法。

更进一步,我们还可以使用管道将输入文件的内容反馈给cat命令。例如,我们可以echo当前目录下所有文件的内容,并将其输出送入cat

echo *.txt | xargs cat > D.txt

4.总结

在本教程中,我们看到了使用Linux cat命令串联多个文件是多么容易。

最后更新2022-11-22
0 个评论
标签
cat