在 Linux 命令行中连接文件

简单来说,连接就是连接两个字符串。

为了 example,有两个字符串: snowball. 所以当你连接它们时,它将形成一个字符串 snowball.

在使用 Linux 时,您经常会发现自己处于必须连接两个或多个文件的情况。

因此,在本指南中,我将分享多个示例来连接文件。

如何在 Linux 中连接文件

当您考虑在 Linux 中串联文本文件时,cat 命令控制着整个类别。

为了演示,我将使用两个名为 TextFile1TextFile2 他们的文件包含如下:

[email protected]:~$ cat TextFile1
File contents of TextFile1

[email protected]:~$ cat TextFile2
File contents of TextFile2

现在,让我们跳到示例部分。

在标准输出中连接多个文件

这是大多数用户使用的最简单的串联,您可以在标准输出中组合多个文件的输出:

cat TextFile1 TextFile2

连接文件内容并将其保存到新文件

上面,我解释了如何连接多个文件,但它不会保存任何更改。

所以如果你想连接文件并将输出保存到另一个文件,你可以将输出数据流重定向到一个新文件。

为了 example,在这里,我连接了文件内容 TextFile1TextFile2 并将输出保存到一个名为 Output_File:

cat TextFile1 TextFile2 > Output_File

但它会覆盖的文件内容 Ouput_File (如果有)并且您可能会丢失敏感数据。

要连接输出并将其保存到另一个文件而不覆盖,请使用 >> 代替 >:

cat TextFile1 TextFile2 >> Output_File
使用 cat 命令连接文件而不覆盖

并且可以看到,两个文件的污染被保存在下面的内容中 Output_File.

连接时从标准输入添加额外数据

您并不总是只想连接两个不同文件的文件内容,您可能还想向其中添加其他数据。

所以假设我想连接两个文件 TextFile1TextFile2 但我想添加一些额外的数据,在这种情况下,使用标准输入是最佳选择。

哪个可以被调用 - 旗帜。

为了 example我想在内容上面添加数据 TextFile1,所以我将使用以下内容:

cat - TextFile1 >> TextFile2

它将作为普通的 cat 命令执行,您可以在其中添加简单文本。

添加完文本后,保存文件并退出使用 Ctrl + D.

供您参考,我添加了以下行:

Text from the standard output that should be placed above the file contents of TextFile1
使用 cat 命令在 linux 中连接文件时添加额外的数据

如您所见,在这里,我将两个文件与来自标准输入的附加数据连接在一起。

同样,如果你想在污染两个文件之后添加额外的数据而不是上面的,你可以参考以下内容:

cat TextFile1 - >> TextFile2

在这里,我在标准输入中输入了以下内容:

Content from standard input that will be placed after contents of two files
使用 cat 命令在 linux 中连接文件时添加附加数据

将命令输出连接到文件

如果要使用 cat 命令将命令的输出连接到特定文件,可以参考给定的命令语法:

Command | cat > file

为了 example,在这里,我连接了 我目前使用的内核版本 到一个名为 Kernels:

uname -r | cat > Kernels
在 linux 中使用 cat 命令将命令输出连接到文件

但是您知道您还可以将输出、错误和标准输入重定向到文件吗?

这非常简单,并且在您只想连接错误的情况下非常有用:

充分利用 cat 命令

虽然大多数用户使用 cat 命令来创建和读取文件,但是如果我告诉你你可以用它做更多的事情呢?

在阅读以下指南之前,我什至没有意识到它的强大功能:

我希望您会发现本指南对您有所帮助。

如果您有任何疑问,请随时在评论中提问。