У меня есть скрипт, который может конвертировать 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
Теперь создайте файлы. Я предполагаю, что у вас есть набор идентификаторов сообщений в списке. При отсутствии реальных подробностей я также предполагаю, что ваши идентификаторы сообщений содержат только буквы, цифры, дефисы и подчеркивания ( 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