首页 > 解决方案 > 如何在 sed 中的给定行下方插入多行,其中行包含斜杠

问题描述

我正在尝试在文件中的一行下方插入以下行:

<Test>
  <Document>
    ThisIsATest
  <Document>
</Test>

我想在下面插入这些的行是This is a test.

我可以使用命令在其下插入常规文本sed -i '/test/aThis is new text' test2.txt,该文件将包含:

This is a test
This is new text

困难的部分是我似乎无法使用带有斜线的多行项目来做到这一点。关于如何做到这一点的任何想法?我不必使用 sed 或 awk;任何其他 Linux 实用程序也可以。

标签: linuxbashsedscripting

解决方案


你可以使用 sed 的r ->read a file

您将多行替换文本保存在文件中,例如xml.txt,您只需执行以下操作:

sed -i '/test/r xml.txt' file

你会得到你想要的。


推荐阅读