微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

正则表达式 – 在特定模式匹配后插入文件的内容

我想以特定的模式匹配插入文件内容.以下是一个示例:在file< tag>之间的file1.txt中添加file2.txt内容和< / tag&gt ;. FILE1.TXT
<html>
<body>
<tag>
</tag>
</body>
</html>

FILE2.TXT

Hello World!!

我已经尝试了以后,它没有工作.

# sed "/\<tag\>/ {
h
r file2.txt
g
N
}" file1.txt

<html>
<body>
Hello World!!
<tag>
</tag>
</body>
</html>
尝试以下命令:
sed '/<tag>/ r file2.txt' file1.txt

它产生:

<html>
<body>
<tag>
Hello world
</tag>
</body>
</html>

编辑说明为什么您的命令无法正常工作:r filename命令在当前周期结束时或下一条输入行读取时添加内容.而你正在使用不打印任何东西但读取下一行的N命令,所以在那个时候Hello world被打印,之后是正常的行流.

在我的情况下,它使用< tag>读取行,然后结束循环,因此打印行并在文件内容之后继续阅读,直到结束.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐