我有一个脚本可以将 MSG-ID(放置在我们的数据库中的 MSG-ID)转换为 XML 文件。
下面是一个将 MSID 转换为 XML 的示例
getDXML xxxxxMSGIDxxxxxx > filename.xml
现在我有超过 40 个 MSG-ID,如果可能的话,我想一次性将它们全部转换为不同的名称
这是其中的一部分
<?xml version="1.0" encoding="UTF-8"?>
<message schemaLocation="http://postfinance.ch/deva/message BANCS_DEVA_Message.xsd">
<MessageHeader>
<MandantID>001001</MandantID>
<MessageID>**201711221731-A_DEVA_ADHCORDNTF_AA-10500879**</MessageID>
<Sender>BOMC</Sender>
<SenderPlattform>T</SenderPlattform>
<MessageType>00761</MessageType>
<Receiver>DEVA</Receiver>
<CommPattern>FF</CommPattern>
<Prioritaet>normal</Prioritaet>
</MessageHeader>
<sendung>
<ProcessingHeader>
答案1
首先创建模板
cat >template.notxml <<'X'
<?xml version="1.0" encoding="UTF-8"?>
<message schemaLocation="http://postfinance.ch/deva/message BANCS_DEVA_Message.xsd">
<MessageHeader>
<MandantID>001001</MandantID>
<MessageID>#MESSAGEID#</MessageID>
<Sender>BOMC</Sender>
<SenderPlattform>T</SenderPlattform>
<MessageType>00761</MessageType>
<Receiver>DEVA</Receiver>
<CommPattern>FF</CommPattern>
<Prioritaet>normal</Prioritaet>
</MessageHeader>
<sendung>
<ProcessingHeader>
X
现在创建文件。我假设您的列表中有一组消息 ID。在缺乏真实细节的情况下,我进一步假设您的消息 ID 仅包含字母、数字、连字符和下划线(A-Z
、a-z
、0-9
、-
、_
)。我们称这个列表为ids.list
。
while IFS= read -r messageid
do
sed "s/#MESSAGEID#/$messageid/g" template.notxml > "$messageid.notxml"
done < ids.list