You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Linux命令为file1添加对应Barcode的Clone匹配列?

Linux命令实现Barcode与Clone名称的匹配合并

这是一个典型的键值匹配合并场景,在Linux下有几个非常高效的命令可以解决,我给你推荐两种最常用的方案:

方案一:使用join命令(适用于已排序的文件)

join是Linux专门用于合并两个文件中相同键值行的工具,你的file1和file2已经按Barcode顺序排列,直接运行以下命令即可:

join file1 file2

原理说明:

  • join默认以第一列作为匹配的键,会自动将两个文件中键相同的行合并,把file2的第二列(Clone名称)追加到file1的对应行后面
  • 如果你的文件未排序,可以先通过管道排序后再合并:
    join <(sort file1) <(sort file2)
    

方案二:使用awk命令(灵活通用,无需排序)

如果你的文件没有按Barcode排序,或者需要更灵活的处理逻辑,awk是更好的选择,命令如下:

awk 'NR==FNR{map[$1]=$2; next} {print $0, map[$1]}' file2 file1

原理说明:

  • NR==FNR:当处理第一个输入文件(file2)时,将Barcode(第一列)作为数组map的键,Clone名称(第二列)作为对应的值存储起来
  • next:跳过后续逻辑,继续处理file2的下一行
  • 处理第二个输入文件(file1)时,每一行输出原内容,再追加对应的map[$1](即匹配到的Clone名称)

示例输出验证

运行上述任意命令后,都会得到你期望的输出:

BAR_001 Clone1
BAR_001 Clone1
BAR_002 Clone2
BAR_002 Clone2
BAR_003 Clone3
BAR_003 Clone3
BAR_003 Clone3
...
BAR_400 Clone400
BAR_400 Clone400

内容的提问来源于stack exchange,提问作者Kenny

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 07:18:44