You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

XML文件变量提取与源文件内容替换的技术实现问询

实现XML文件内容替换的第二步操作

任务说明

已完成第一步:从源文件s.xml和目标文件t.xml中提取指定变量值并保存至T_XML_PFILE.log;
需完成第二步:利用T_XML_PFILE.log中的变量,将s.xml的内容替换为t.xml的对应值,最终使s.xml与t.xml内容一致。

现有文件信息

  • 源文件s.xml当前内容:
<global_db_name oa_var="s_dbSid">PEBS2SIT</global_db_name>
      <db_name_lower oa_var="s_dbSidLower">pebs2sit</db_name_lower>
  • 目标文件t.xml内容:
<global_db_name oa_var="s_dbSid">PEBSPAT</global_db_name>
      <db_name_lower oa_var="s_dbSidLower">pebspat</db_name_lower>
  • T_XML_PFILE.log中的变量内容:
T_PDBNAME_C=PEBSPAT
T_PDBNAME_S=pebspat

S_PDBNAME_C=PEBS2SIT
S_PDBNAME_S=pebs2sit

实现步骤

  1. 加载日志中的变量到Shell环境
    执行命令,将日志里的变量定义导入当前Shell会话:
source T_XML_PFILE.log
  1. 替换s.xml中的内容
    使用sed命令批量替换源文件中的旧值为目标值,可选择以下两种方式:
  • 拆分执行:
sed -i "s/${S_PDBNAME_C}/${T_PDBNAME_C}/g" s.xml
sed -i "s/${S_PDBNAME_S}/${T_PDBNAME_S}/g" s.xml
  • 合并执行(更高效):
sed -i -e "s/${S_PDBNAME_C}/${T_PDBNAME_C}/g" -e "s/${S_PDBNAME_S}/${T_PDBNAME_S}/g" s.xml

验证结果

执行替换命令后,查看s.xml内容:

cat s.xml

预期输出:

<global_db_name oa_var="s_dbSid">PEBSPAT</global_db_name>
      <db_name_lower oa_var="s_dbSidLower">pebspat</db_name_lower>

内容的提问来源于stack exchange,提问作者haseeb ur rahman syed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 20:40:29