リストを含む2つのファイルを2つの列を含む1つのファイルにマージする方法は?

リストを含む2つのファイルを2つの列を含む1つのファイルにマージする方法は?

一部の電子メールリストを含むファイルと、mail.txtその人の名前を含むファイルがあります。names.txtこれで、これらのファイルを次の構造の1つのファイルにマージしたいと思います。

name1: email1
name2: email2
.
.
.

bashを使ってこれを達成できますか?

ベストアンサー1

paste次のようにコマンドを使用できます。

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

動作原理の説明:

貼り付けはまさにあなたが望むものです。実際には複数の列を連結できますが、列間の区切り文字として1文字だけを渡すことができます。これは ':' が 2 文字なので問題になります。

しかし、回避策があります。/dev/nullデフォルトでは、システムで使用できる空のファイルであるこのファイルを使用できます。

Pasteは3つの列を連結し、2番目の列は空だと思いnames.txtます。合計はと同じです。nullnullmail.txt":" + "null" + " "": "

おすすめ記事