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

如何用单条awk命令替换多模式第n次出现为指定文件对应行

合并后的单条awk命令实现方案
awk 'NR==FNR {a[NR]=$0; next} /home_cool01/{gsub("home_cool01", a[++i2])} /home_cool/ && !/home_cool01/{gsub("home_cool", a[++i1])} 1' 1.txt 0.txt > 3.txt

实现说明

  • 优先处理更长的匹配模式home_cool01,避免短模式home_cool匹配到长模式的前缀导致替换错误
  • 用两个独立计数器i1、i2分别统计home_cool和home_cool01的出现次数,分别按顺序调用1.txt对应行的内容完成替换
  • 输出结果直接写入3.txt,和原两条顺序执行命令的输出结果完全一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 04:24:06