在Linux中把文本文件串联或合并成一个单一的文件
评论 0
浏览 0
2019-09-02
1.概述
Linux为我们提供了对文件进行各种操作的命令。其中一项活动是串联--或合并--文件。
在这个快速教程中,我们将看到如何将文件串联成一个单一的文件。
2.介绍 cat 命令
要连接文件,我们将使用cat(连接的简称)命令。
假设我们有两个文本文件,A.txt和B.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命令串联多个文件是多么容易。
0 个评论