如何在 Linux 中合并数据

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

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

在 Linux 中合并数据

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

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

使用 Cat 命令合并数据

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 命令可用于合并文件/数据。 “>”。 下面提到的命令将使用 sed 命令和重定向运算符“>”合并“linux1”和“linux2”的数据并将其存储在“merged_linux”中。

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

输出:

使用合并命令合并数据

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

$ sudo apt install rcs

下面提到的命令将使用 merge 命令将 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 循环合并数据的方法。 您可以按照您认为容易的任何方法进行操作。