linux - 如何在 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 实用程序也可以。
解决方案
你可以使用 sed 的r
->read a file
您将多行替换文本保存在文件中,例如xml.txt
,您只需执行以下操作:
sed -i '/test/r xml.txt' file
你会得到你想要的。
推荐阅读
- html - 如何以正确的方式加载 CSS?
- python - Django 搜索和查看更多
- mysql - 错误:正在为 MySQL 服务器运行停止作业
- powershell - 如何为 Exchange Online 编写 MultiFactor Powershell 脚本
- bash - 将文件重命名为隐藏文件以进行循环
- postfix-mta - 查找 Postfix virtual_mailbox_maps 仅查找用户名,而不是电子邮件地址
- algorithm - 给一个向量对,我必须找到没有。对使得数字 k 大于 first 并且小于 second
- c++ - C++ 类返回具有新地址的引用
- javascript - 保存文件时 JS/JSX 自动缩进不正确
- laravel - Laravel 5.7 雄辩的查询,带有多个 where 和一个 whereNotIn