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

Bash技术问题:匹配指定文本并在其后插入变量内容

解决在匹配行后插入变量内容的sed方案

我之前也碰到过类似的需求,用sed就能轻松搞定!因为你的变量里包含斜杠,直接用默认的斜杠分隔符会报错,所以换个分隔符(比如|)就很方便,直接用下面的命令:

sed "/working/a|$NEW_FILE" test1.txt

要是想直接修改原文件(记得先备份,避免误操作),加上-i参数就行:

sed -i "/working/a|$NEW_FILE" test1.txt

命令简单解释:

  • /working/:精准定位到包含"working"的那一行
  • a|:a是sed的追加命令,后面跟的|是我们指定的分隔符,避开变量里的/,省得额外转义
  • $NEW_FILE:直接引用你的变量,把内容追加到匹配行的下一行

执行后你会得到完全符合预期的结果:

Hello, World!
This is not working
./location/file1
I don't know a thing about sed and awk

如果以后你的变量里出现了&这类sed的特殊字符,记得先用sed 's/\&/\\\&/g'转义变量内容,但这次你的路径变量没有特殊字符,直接用就没问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 06:28:59