Files
如何將兩個包含列表的文件合併為一個包含兩列的文件?
我有一個
mail.txt
包含一些電子郵件列表的文件names.txt
,以及相應地包含這些人姓名的文件。現在我想將這些文件組合成一個具有以下結構的文件:name1: email1 name2: email2 . . .
是否有可能用 bash 來實現?
您可以使用以下
paste
命令:paste -d ': ' names.txt /dev/null mails.txt > result.txt
解釋它是如何工作的:
粘貼正是你想要的。而且您實際上可以將多個列與其連接,但您只能將一個字元作為列之間的分隔符傳遞,這在您的情況下是一個問題,因為 ‘: ’ 是兩個字元。
但是,有一種解決方法,您可以使用該
/dev/null
文件,該文件基本上是系統中可用的空文件。現在 paste 認為您將三列連接在一起,其中第二列為空,因此它將第一個字元放在分隔符列表(“:”)之間
names.txt
,null
然後將(“”)放在null
和之間mail.txt
,加起來":" + "null" + " "
等於": "
.