如何合并数据 Linux

在某些情况下,您拥有分散的数据并且希望将它们组合在一个称为合并的地方。 您可能将一个文件分成多个文件,现在希望将它们重新合并在一起,或者您有多个日志文件想要合并为一个。 在 Linux, 将大量文本文件合并到一个文件中很简单。 这篇文章是关于通过不同的命令讨论在一个地方合并数据的不同方法 Ubuntu 20.04,热门 Linux 分配。

将两个或多个数据集合并为一个数据集的过程称为数据合并。 当您将原始数据存储在多个文件、工作簿或数据表中并希望同时进行分析时,通常需要这种方法。 在本文中,我们将使用“cat”、“sed”和“merge”命令来合并数据 Ubuntu (Linux 操作系统)。

合并数据 Linux

下面提到了使用一些命令合并数据的一些过程 Ubuntu:

  • 使用 cat 命令合并数据
  • 使用 sed 命令合并数据
  • 使用合并命令合并数据
  • 使用“For循环”合并数据

使用 Cat 命令合并数据

猫代表连接; 它预装在新的 Ubuntu 版本,但如果您使用的是旧版本,则需要安装它。 它是一个常用命令,可从文件中读取所有数据并将其内容输出到终端屏幕上。 它允许我们生成、查看和合并文件。 当您使用 cat 命令将巨大的文本文件的内容显示到终端时,它会弄乱您的终端并使导航变得困难。

输出

下面提到的命令将合并“linux1”和“linux2”的数据,并以相同的文件名放置顺序显示在屏幕上。

$ cat linux1.txt linux2.txt

合并数据并存储在文件中

现在我们还可以使用 cat 命令和重定向运算符“>”合并来自多个文件的数据并将其存储在另一个文件中。 下面提到的命令将合并“linux1”和“linux2”的数据,并使用 cat 命令将其存储在“merged_linux”中。

$ cat linux1.txt linux2.txt > merged_linux.txt

如果该文件不存在,cat 命令将首先创建它。 单个重定向运算符不会在末尾添加,而是覆盖文件,如果要在文件末尾附加新文本而不覆盖,则必须使用双重定向运算符。

输出:

使用 Sed 命令合并数据

在 Linux,SED预装命令简称流编辑器,如果没有安装也可以安装,它可以进行各种文件操作,如查找、查找、替换、插入、删除等。 SED 命令是一个流行的命令 Linux 用于替换或查找和替换的命令。 您可以修改文件而无需使用 SED 打开它们,这是一种查找和替换文件中任何内容的方法,这比先在 VI 编辑器中打开文件然后进行更改要快得多。

通常用于文本操作和转换的 sed 命令可用于合并文件/数据。 “>”。 下面提到的命令将合并“linux1”和“linux2”的数据,并使用 sed 命令和重定向运算符“>”将其存储在“merged_linux”中。

$ sed h linux1.txt linux2.txt > merged_linux1.txt

输出:

使用合并命令合并数据

合并命令也会合并两个文件的数据并将它们存储在一个新文件中,但它的工作方式与任何其他合并命令不同。 合并逐行比较三个文件,一个原始文件和两个原始文件的更改版本,寻求协调两组修改之间的冲突,以创建一个表示两个文件更改的组合文件。 “合并”命令未预安装,您需要通过以下命令安装它:

$ sudo apt install rcs

下面提到的命令将使用合并命令将 linux1.txt 和 linux2.txt 合并到“merged_linux.txt”中。

$ merge merge_linux2.txt linux1.txt linux2.txt 

linux1.txt和linux2.txt是合并“merge_linux2.txt”不同部分的两个文件,需要先创建“merge_linux2.txt”。

输出

“<<<<<<<”和“>>>>>>>>”之间存在冲突。

使用“For循环”合并数据

“for 循环”可以消除显式声明文件名的需要。 这只有在文件名一致的情况下才会起作用。 在我们的情况下,文件名的格式如下:linux{1,2}.txt

下面提到的命令将合并“linux1”和“linux2”的数据,并使用 for 循环和重定向运算符“>”将其存储在“merged_linux”中。

$ for i in {1,2}; do cat “linux$i.txt” >> merged_linux3.txt; done

输出:

结论

有时您希望将不同类型的数据存储在一个地方的不同位置。 为此,您需要使用不同的方式合并数据 Linux. 在本文中,我们讨论了四种合并数据的方法 Ubuntu 详细使用 cat、sed 和 merge 命令以及 for 循环。 您可以按照您认为容易的任何方法进行操作。