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

如何在Bash中按首列合并多个文本文件?

按首列合并多个纯文本文件的方法

下面提供两种实用的命令行方法,适用于合并2个以上按首列匹配的纯文本文件:

方法一:使用awk(推荐,适合任意数量文件)

awk可以一次性处理所有目标文件,通过数组存储每个首列对应的内容,最后统一输出:

awk '{key=$1; $1=""; arr[key]=arr[key] $0} END{for(k in arr) print k arr[k]}' file1.txt file2.txt file3.txt > ideal.txt

逻辑说明:

  • 遍历每个文件的每一行,提取首列作为匹配键key
  • 移除首列后,将剩余内容追加到对应key的数组元素中
  • 所有文件处理完成后,遍历数组,输出每个键及其对应的所有内容

方法二:使用join(适合少量文件)

join默认按首列合并文件,但仅支持两两合并,处理多个文件时需要通过管道嵌套执行:

join file1.txt file2.txt | join - file3.txt > ideal.txt

逻辑说明:

  • 第一步join file1.txt file2.txt合并前两个文件,结果输出到管道
  • 第二步join - file3.txt中,-表示读取管道中的合并结果,再与第三个文件合并

执行上述任意命令后,生成的ideal.txt内容将符合预期:

a 1 2 3
b 2 3 4
c 3 4 5

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 01:32:00