前端之家收集整理的这篇文章主要介绍了
正则表达式 – 在特定模式匹配后插入文件的内容,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想以特定的模式匹配插入
文件内容.以下是一个示例:在file< tag>之间的file1.txt中
添加file2.txt
内容和< / tag> ;. 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>读取行,然后结束循环,因此打印行并在文件的内容之后继续阅读,直到结束.