Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sed 将word标记替换为整个文件内容_Sed - Fatal编程技术网

Sed 将word标记替换为整个文件内容

Sed 将word标记替换为整个文件内容,sed,Sed,假设我们有一个内容xml文件: <field name="id" id="1" type="number" default="" /> 我们需要将INCLUDE_XML标记替换为XML文件中的整个内容。我们可以试试 tpl_content=$(<tpl.xml) xml_content=$(<cnt.xml) xml_content="$(echo "$tpl_content" | sed "s/INCLUDE_XML/"$xml_content"/g")" echo

假设我们有一个内容xml文件:

<field name="id" id="1" type="number" default="" />
我们需要将
INCLUDE_XML
标记替换为XML文件中的整个内容。我们可以试试

tpl_content=$(<tpl.xml)
xml_content=$(<cnt.xml)
xml_content="$(echo "$tpl_content" | sed "s/INCLUDE_XML/"$xml_content"/g")"
echo "$xml_content" > out.xml

tpl\u content=$(只需使用
sed
的内置设施即可

sed -e '/INCLUDE_XML/!b' -e 'r cnt.xml' -ed tpl.xml >out.xml

翻译:如果当前输入行与正则表达式不匹配,请继续。否则,请读入并打印另一个文件,然后删除当前行。

太棒了!谢谢你。特别是魔法的翻译。
sed -e '/INCLUDE_XML/!b' -e 'r cnt.xml' -ed tpl.xml >out.xml