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

如何逐行交替合并两个文本文件 无需手动逐行添加echo命令

逐行交替合并两个文本文件的实现方案

不用手动逐行添加echo命令,以下方法可以直接处理上千行的文件,几秒就能出结果:

方案1:使用系统自带paste命令(Linux/macOS适用,零额外依赖)

paste是系统预装的文本处理工具,直接指定换行符作为分隔符,就能实现逐行交替合并的效果:

paste -d '\n' File-1的路径 File-2的路径 > 合并后结果文件.txt

运行完直接打开生成的结果文件,就是你要的问题、答案交替排列的格式。

如果需要直接生成你之前手写的带echo的可执行bash脚本,用awk一行命令就能自动生成,完全不用手动编辑:

awk 'NR==FNR{question[NR]=$0; next} {print "echo \""question[FNR]"\""; print $0}' 问题文件路径 答案文件路径 > 自动生成的问答脚本.sh
# 给脚本加执行权限
chmod +x 自动生成的问答脚本.sh

命令逻辑:先把问题文件的所有内容按行存到数组里,读取答案文件时,先输出对应问题的echo命令行,再输出答案行,和你手动写的脚本格式完全一致。

方案2:Python跨平台方案(Windows/macOS/Linux通用)

如果你用Windows系统,或者不想记shell命令,用几行Python脚本就能实现,逻辑直白不容易出错,还能自由控制文件编码避免乱码:

# 将以下代码保存为merge.py,和两个待合并的文件放在同一文件夹
# 注意把文件名改成你自己的实际文件名
with open("File-1", "r", encoding="utf-8") as f_q, \
     open("File-2", "r", encoding="utf-8") as f_a, \
     open("合并结果.txt", "w", encoding="utf-8") as f_out:
    for q_line, a_line in zip(f_q, f_a):
        f_out.write(q_line.rstrip("\r\n") + "\n")
        f_out.write(a_line.rstrip("\r\n") + "\n")

运行时直接在脚本所在文件夹执行python merge.py,就会自动生成合并好的文件,逐行迭代读取的逻辑哪怕是十万行级别的文件也能流畅处理,不会占满内存。

注意事项

  • 合并前确认两个文件行数匹配,避免末尾的内容漏合并
  • 如果问题内容里本身包含双引号,生成bash脚本时需要额外做转义,这种情况更推荐直接用Python输出纯文本格式的合并结果,不需要转义特殊字符

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 14:48:21