2つのファイルがあります。
ファイル1は次のようになります。
burnj01,Joe Burns
steves02,Santosh Steve
ファイル2は次のようになります。
burnj01,0001
burnj01,0002
burnj01,0010
burnj,0100
burnj01,2000
steves02,2048
steves02,2049
steves02,2091
私は次のファイル3が欲しい:
burnj01,Joe Burns,0001
burnj01,Joe Burns,0002
burnj01,Joe Burns,0010
burnj01,Joe Burns,0100
burnj01,Joe Burns,2000
steves02,Santosh Steve,2048
steves02,Santosh Steve,2049
steves02,Santosh Steve,2091
最初のファイルのcol1を使用して2つのファイルを結合し、一致する場合は、File2の列2の値をFile1の最後の列に追加したいと思います。
私はこれを試しました:
$ awk 'FNR==NR{a[$1]=$2;next} {print $1,$2,a[$1]}' file2 file1 > file3
しかし、これはうまくいきません。どうやってこれを達成できますか?
ベストアンサー1
フィールド区切り文字を指定しFS
、OFS
それを出力フィールド区切り文字として使用する必要があります。
awk 'BEGIN { FS=OFS="," }
NR==FNR { saving[$1]=$2; next }
($1 in saving){ print $1, saving[$1], $2 }' file1 file2