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

如何使用SED命令在</example-tag>标签前插入文件内容?

用SED将内容插入到</example-tag>标签之前

你可以通过修改SED的逻辑,把data.txt的内容插入到目标标签前面,这里提供两种可靠的实现方式:

方法1:替换模式(推荐,适配特殊字符场景)

使用SED的替换命令,将匹配到的标签替换为data.txt内容 + 原标签,同时改用竖线|作为分隔符,避免data.txt中出现/导致命令失效:

sed -i 's|<\/example-tag>|'"$(cat data.txt)"'\n&|' sample.xml
  • 细节说明:
    • "$(cat data.txt)":读取data.txt的全部内容
    • \n:插入换行,让插入内容和标签分行显示
    • &:代表匹配到的原标签内容</example-tag>

方法2:模式空间操作法

通过SED的模式空间与保持空间配合,先输出data.txt内容再输出原标签行:

sed -i '/<\/example-tag>/ {
    h
    s/.*/cat data.txt/e
    G
}' sample.xml
  • 细节说明:
    • h:把匹配到的标签行暂存到保持空间
    • s/.*/cat data.txt/e:执行cat data.txt命令,用输出内容替换当前模式空间的内容
    • G:从保持空间取出原标签行,追加到模式空间末尾,实现内容在前、标签在后的顺序

如果需要先验证效果,去掉命令中的-i参数即可预览修改后的内容,不会直接改动原文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 18:13:09