如何将两个包含列表的文件合并为一个包含两列的文件?

如何将两个包含列表的文件合并为一个包含两列的文件?

我有一个包含一些电子邮件列表的文件以及相应包含这些人姓名的mail.txt文件。names.txt现在我想将这些文件合并为一个具有以下结构的文件:

name1: email1
name2: email2
.
.
.

用 bash 可以实现吗?

答案1

您可以paste按如下方式使用该命令:

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

其工作原理说明:

粘贴正是您想要的。实际上,您可以用它连接多个列,但只能传递一个字符作为列之间的分隔符,这在您的情况下是一个问题,因为 ': ' 是两个字符。

但是,有一个解决方法,您可以使用该/dev/null文件,该文件基本上是系统中可用的空文件。

现在,粘贴认为您正在将三列连接在一起,其中第二列为空,因此它将分隔符列表中的第一个字符(“:”)放在 和 之间,names.txt然后null将(“”)放在 和 之间nullmail.txt加起来":" + "null" + " "等于": "

相关内容