awkを使用して一致する列に基づいて2つのファイルをマージする

awkを使用して一致する列に基づいて2つのファイルをマージする

次の構造を持つ2つのテキストファイルがあります。

  • ファイル1:
    File/Path/DataXXX File/Path/ImageXXX
    
  • ファイル2:
    1 File/Path/ImageXXX DataGroupXXX
    

ファイル2では、各行の最初の列が置き換えられる仮想列で1に置き換えられました。awkファイル1の列2を使用してファイル2の列2を一致させ、ファイル2の仮想列1をファイル1の列1の一致するデータパスに置き換えたいと思います。これはファイル2の対応するDataXXX合計ImageXXXに関連付けられます。DataGroupXXX

私のコマンドは次のとおりです。

awk 'NR==FNR{a[$2]=$2;next}($1 in a) {$1= a[$1]}2' File1.txt File2.txt > mergedfile.txt

うまくいかなかったので、少し変更してみましたが、コマンド構文を誤って理解しても、好きなように変更されていないようです。私がやろうとしていることに問題があると思う人はいますか?

ベストアンサー1

おすすめ記事