Files

如何將兩個包含列表的文件合併為一個包含兩列的文件?

  • January 1, 2018

我有一個mail.txt包含一些電子郵件列表的文件names.txt,以及相應地包含這些人姓名的文件。現在我想將這些文件組合成一個具有以下結構的文件:

name1: email1
name2: email2
.
.
.

是否有可能用 bash 來實現?

您可以使用以下paste命令:

paste -d ': '  names.txt /dev/null mails.txt > result.txt

解釋它是如何工作的:

粘貼正是你想要的。而且您實際上可以將多個列與其連接,但您只能將一個字元作為列之間的分隔符傳遞,這在您的情況下是一個問題,因為 ‘: ’ 是兩個字元。

但是,有一種解決方法,您可以使用該/dev/null文件,該文件基本上是系統中可用的空文件。

現在 paste 認為您將三列連接在一起,其中第二列為空,因此它將第一個字元放在分隔符列表(“:”)之間names.txtnull然後將(“”)放在null和之間mail.txt,加起來":" + "null" + " "等於": ".

引用自:https://unix.stackexchange.com/questions/414189