![XML의 여러 MSG-ID를 동시에 변환하는 방법은 무엇입니까? [폐쇄]](https://linux55.com/image/122393/XML%EC%9D%98%20%EC%97%AC%EB%9F%AC%20MSG-ID%EB%A5%BC%20%EB%8F%99%EC%8B%9C%EC%97%90%20%EB%B3%80%ED%99%98%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F%20%5B%ED%8F%90%EC%87%84%5D.png)
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