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

macOS下使用shell匹配双文件内容并向匹配行追加指定字符串

macOS Shell 实现 Podfile 行匹配追加内容方案

你可以直接使用 macOS 系统自带的 awk 工具实现需求,无需额外安装任何软件,操作步骤如下:

前置操作(可选,建议执行)

先备份原文件避免操作失误丢失内容:

cp Main.txt Main.txt.bak

实现命令

1. 仅预览修改结果(不修改原文件)

执行以下命令会直接在终端输出处理后的内容,你可以先验证是否符合预期:

awk 'FNR==NR { prefix[FNR]=$0; next } { for (i in prefix) { if (index($0, prefix[i]) == 1) { $0 = $0 ", :binary => true"; break } } }1' Module.txt Main.txt

2. 直接修改原文件

确认预览结果无误后,执行以下命令直接修改 Main.txt:

awk -i inplace 'FNR==NR { prefix[FNR]=$0; next } { for (i in prefix) { if (index($0, prefix[i]) == 1) { $0 = $0 ", :binary => true"; break } } }1' Module.txt Main.txt

如果你使用的是非常旧版本的 macOS 系统,执行带 -i inplace 的命令报错,可以用重定向方式替换原文件:

awk 'FNR==NR { prefix[FNR]=$0; next } { for (i in prefix) { if (index($0, prefix[i]) == 1) { $0 = $0 ", :binary => true"; break } } }1' Module.txt Main.txt > temp.txt && mv temp.txt Main.txt

命令逻辑说明

  • 第一步先读取 Module.txt 的所有行,存为前缀匹配规则存入数组
  • 第二步逐行读取 Main.txt,判断当前行是否以任意一条前缀规则开头
  • 匹配成功的行在末尾追加, :binary => true,不匹配的行原样输出

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 13:27:02