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