Linux合并两个文件中的行

时间:2020-02-23 14:39:23  来源:igfitidea点击:

join命令在公共字段上连接两个文件的行。
默认情况下,字段由空格分隔,但我们可以使用-t选项指定一些其他字符。

以下是一个例子,可以了解此命令的工作原理。
让我们说我们有两个文件:file1.txt和 file2.txt:

我们可以使用join命令加入这两个文件:

join  file1.txt  file2.txt

在上面的示例中,我们可以看到加入命令使用第一个字段(数字)作为跨文件匹配的。
由于数字在两个文件中的第一个字段中,因此join命令已成功完成。

我们可以指定用于加入操作的另一个字段。
让我们说我们有这两个文件:

我们可以在此处查看此问题:在两个文件中,第一个字段不相同,字段与/字符而不是空格分隔。
我们需要做两件事:

  • 通过在第二文件中指定第三个文件和第二个文件中的第二个字段来加入文件
  • 定义字符/作为字段分隔符

我们可以使用-1和-2选项指定另一个字段。
-1指定第一个文件的连接字段,以及第二个文件的-2.
要定义字符/作为分隔符,我们需要使用-t选项。
这是命令:

join -t / -1 3 -2 2 file1.txt file2.txt