用多行替换占位符

时间:2019-08-18 08:44:36

标签: shell awk sed

我有一个看起来像的模板:

<mydata>
<tag1> 
<tag2> etc.
DATAHERE
</mydata>

我想在数据库上运行查询,并获取许多记录,并将它们放在文件DATAHERE所在的文件中的另一个记录之下。

我的记录已经在mydata.txt中提取了。如何替换DATAHERE的单行?我不想对要跳过的模板中的行数进行硬编码。 DATAHERE是我唯一的标记。

1 个答案:

答案 0 :(得分:3)

这可能对您有用(GNU sed):

sed -e '/DATAHERE/{r dataFile' -e 'd}' file

将焦点放在DATAHERE行上,并读取文件dataFile,然后删除当前行。