awk:2つのファイル間の共通データを見つける

awk:2つのファイル間の共通データを見つける

ファイル1(マスターデータ):

12345|abc  
11223|xyz  
23234|pqr

ファイル2(ファイル1のサブセット):

12345_ASDD|PASD|AWOP  
11223_PLDD|EVAAA ASDAS|ASDD  
23234_MJKJLO|OKEI JSN|OPIE  

出力:

12345_ASDD|PASD|AWOP|abc  
11223_PLDD|EVAAA ASDAS|ASDD|xyz  
23234_MJKJLO|OKEI JSN|OPIE|pqr

説明する:
最初の列(下線の前)ファイル2File1の最初の列と一致し、File1の対応する2番目の列をFile2に追加する必要があります。

ベストアンサー1

おそらく最も簡単な方法は、2番目のファイルの前にFSを変更することです。たとえば、おなじみのフィールドベースの検索を実行できます。

awk 'BEGIN{OFS=FS="|"} NR==FNR {a[$1]=$2; next} {print $0,a[$1]}' File1 FS="_" File2

おすすめ記事