按顺序合并两个文件列

use*_*687 3 awk text-processing join

我想合并两个文件。

文件 A.txt

001;abc;def;ghi;jkl;pqr
002;abc;def;ghi;jkl;pqr
003;abc;def;ghi;jkl;pqr
004;abc;def;ghi;jkl;pqr
005;abc;def;ghi;jkl;pqr
Run Code Online (Sandbox Code Playgroud)

. 第二个文件 B.txt

001;mno
002;mno
003;mno
004;mno
005;mno
Run Code Online (Sandbox Code Playgroud)

有一个文本文件 C.txt

001;abc;def;ghi;jkl;mno;pqr
Run Code Online (Sandbox Code Playgroud)

我能够合并这两个文件,但我不知道如何mnopqr.

Kev*_*vin 6

您可以使用 join

join -t\; -o0,1.2,1.3,1.4,1.5,2.2,1.6 a.txt b.txt
Run Code Online (Sandbox Code Playgroud)

-t\;使用分号作为字段分隔符,-o列表告诉它以什么顺序打印哪些字段。这不会在任何一个文件中打印出另一个文件中没有匹配的行;为了得到你可以添加-a1(对于第一个文件)或-a2(对于第二个)。