使用 awk 根据匹配列合并两个文件

使用 awk 根据匹配列合并两个文件

我有两个具有以下结构的文本文件:

  • 文件一:
    File/Path/DataXXX File/Path/ImageXXX
    
  • 文件2:
    1 File/Path/ImageXXX DataGroupXXX
    

在文件 2 中,每行中的第一列已替换为 1 作为要替换的虚拟列。我想使用awk文件 1 中的列 2 与文件 2 中的列 2 进行匹配,然后将文件 2 中的虚拟列 1 替换为文件 1 中的列 1 中的匹配数据路径。这将DataXXX与其对应的ImageXXXDataGroupXXX在文件 2 中关联。

我的命令如下所示:

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

我无法让它工作,我尝试稍微改变一下数字,但我认为我误解了命令的语法,并且它没有做出我想要的改变。有人认为我正在尝试做的事情有问题吗?

相关内容