awkでファイルの長さが異なる2つの入力ファイルから一致するレコードを取得するには?

awkでファイルの長さが異なる2つの入力ファイルから一致するレコードを取得するには?

入力ファイル

file 1==HQ|SCORE
file 2==HQ|WRST_PMT_STAT|total_exposure

結果ファイル

HQ|WRST_PMT_STAT|total_exposure|SCORE

これら2つのファイルの共通点はHQ

awk -F'|' 'NR==FNR{c[$1]++;next};c[$1]' File1 file2 > output 

file2入力のみを受け取りましたがSCORE。両方のファイルには60,000のレコードが含まれています。

ベストアンサー1

次のコマンドを試してください

awk -F "|" 'NR==FNR {b[FNR]=$2;a[$1];next}($1 in a){print $0"|"b[FNR]}' file1 file2

出力

HQ|WRST_PMT_STAT|total_exposure|SCORE

おすすめ記事