共通データに基づいて2つのファイルをマージします。

共通データに基づいて2つのファイルをマージします。

2つのファイルがあります。最初のファイルにはユーザーIDと名前が含まれています。 2番目のファイルは、ユーザーIDとそのユーザーIDがアクセスできる値で構成されています。私の要件は、2つのファイルの内容を使用し、出力をこの形式の3番目のファイルにコピーすることです。

ファイル#1の内容:

jaina39 Aayush Jain
pawarm02 Mukesh Pawar
dubeyd01 Devasya Dubey
sharmar01 Ram Sharma

ファイル#2の内容:

jaina39 01
jaina39 02
jaina39 11
jaina39 12
jaina39 31
jaina39 35
jaina39 39
jaina39 41
jaina39 54
pawarm02 01
pawarm02 02
pawarm02 11
pawarm02 21
pawarm02 33
pawarm02 44
dubeyd01 31
dubeyd01 41
dubeyd01 51
dubeyd01 2047
dubeyd01 2049
sharmar01 100
sharmar01 101
sharmar01 111
sharmar01 2000
sharmar01 2011

必須出力ファイル:

Aayush Jain
01,02,11,12,31,35,39,41,54
Mukesh Pawar
01,02,11,21,33,44
Devasya Dubey
31,41,51,2047,2049
Ram Sharma 
100,101,111,2000,20111

ベストアンサー1

努力する:

awk 'NR==FNR{ Ids[$1]= Ids[$1]? Ids[$1] "," $2: $2; next; };
            { print $0; print Ids[$1]; }' file2 file1

すべてのIDを読むアッ配列を入力しfile2、行全体file1とそのIDに一致するIDを印刷します。

おすすめ記事