[<?xml version="1.0" encoding="UTF-8"?><FeedAcknowledgement>
<FeedHeader>
<FeedRunId>ID:2d34666235326237663a31333266393636366465633a2d37</FeedRunId>
<FeedName>CLASSIFICATIONMASTER</FeedName>
<AsOf>10/13/2011</AsOf>
<FeedReceivedMode>MQ</FeedReceivedMode>
</FeedHeader>
<Details>
<State>PROCESSED</State>
<Status>FAILED</Status>
<ErrorMessage>Feed definition not found for a give feed name:CLASSIFICATIONMASTER. Please verify the feed name!!</ErrorMessage>
<TimeStamp TimeZone="EST">2011-10-13 18:43:56.524</TimeStamp>
<AsAt TimeZone="EST">2011-10-13 18:43:51.047</AsAt>
</Details>
</FeedAcknowledgement>
]
[<?xml version="1.0" encoding="UTF-8"?><FeedAcknowledgement>
<FeedHeader>
<FeedRunId>403f5086:132f95adad8:-7fe3</FeedRunId>
<FeedName>SECURITYPARTIES</FeedName>
<AsOf>10/12/2011</AsOf>
<FeedReceivedMode>MQ</FeedReceivedMode>
</FeedHeader>
<Details>
<State>PROCESSED</State>
<Status>SUCCESS</Status>
<TimeStamp TimeZone="EST">2011-10-13 18:45:47.923</TimeStamp>
<AsAt TimeZone="EST">2011-10-13 18:45:41.386</AsAt>
<MetaData>
<HierarchyLevels>
<HierarchyLevel>
<Level>1</Level>
<LevelIdentifier>NONE</LevelIdentifier>
<TotalNumRowsInFeed>40</TotalNumRowsInFeed>
<NumRowsSuccessful>40</NumRowsSuccessful>
<NumRowsInError>0</NumRowsInError>
<MappedCategory>DEAM_SECURITY_PARTIES</MappedCategory>
</HierarchyLevel>
</HierarchyLevels>
</MetaData>
</Details>
</FeedAcknowledgement>
]
I have the file which contain the xml code.. I want to split all the xml code. Each xml code starts with "[" and ends with "]".
HOw can I split the each xml code in to seprate file
perl -ne '
if (/\[<\?xml/../^\]/) {
(/\[<\?xml/) && ($f=sprintf "%02d", $i);
open O,">> file$f"; print O; close O;
(/^\]/) && $i++
}' inputfile
For the sample input given, you'll get two files viz. file00 and file01 each containing an xml.
Thank you.. Here I want to compare the string in each XML code . If the strin present then move the specific XML code in to a file.. I dont want to create all the files . It is possible using awk ?. beacuse am not familiar with perl
arukuku
January 19, 2012, 12:58am
5
[<?xml version="1.0" encoding="UTF-8"?><ESP_SSIA_ACC_FEED>
<BATCH_ID>01112012034346646BTLJ3448</BATCH_ID>
<UID>1326271480221</UID>
<FEED_TYPE>FULL</FEED_TYPE>
<MART_NAME>SSIA_DM_TRANSACTIONS</MART_NAME>
<MART_TYPE>SSIA_TRANSACTIONS</MART_TYPE>
<CLIENT_ID>ESPDB</CLIENT_ID>
<SQL>FROM SSIA_DM_TRANSACTIONS WHERE ASAT BETWEEN '2012-01-10T03:44:48.385' and '2012-01-11T03:43:46.646' AND SSIA_ACCOUNT_CODE = 'BTLJ3448' AND PORTFOLIO_CODE = 'J03448' </SQL>
</ESP_SSIA_ACC_FEED>
]
[<?xml version="1.0" encoding="UTF-8"?><ESP_SSIA_ACC_FEED>
<BATCH_ID>01112012034346646BTAL2464</BATCH_ID>
<UID>1326271480355</UID>
<FEED_TYPE>FULL</FEED_TYPE>
<MART_NAME>SSIA_DM_TRANSACTIONS</MART_NAME>
<MART_TYPE>SSIA_TRANSACTIONS</MART_TYPE>
<CLIENT_ID>ESPDB</CLIENT_ID>
<SQL>FROM SSIA_DM_TRANSACTIONS WHERE ASAT BETWEEN '2012-01-10T03:44:48.385' and '2012-01-11T03:43:46.646' AND SSIA_ACCOUNT_CODE = 'BTAL2464' AND PORTFOLIO_CODE = 'B02464' </SQL>
</ESP_SSIA_ACC_FEED>
]
[<?xml version="1.0" encoding="UTF-8"?><ESP_SSIA_ACC_FEED>
<BATCH_ID>01112012034346646BTAC466G</BATCH_ID>
<UID>1326271480521</UID>
<FEED_TYPE>FULL</FEED_TYPE>
<MART_NAME>SSIA_DM_TRANSACTIONS</MART_NAME>
<MART_TYPE>SSIA_TRANSACTIONS</MART_TYPE>
<CLIENT_ID>ESPDB</CLIENT_ID>
<SQL>FROM SSIA_DM_TRANSACTIONS WHERE ASAT BETWEEN '2012-01-10T03:44:48.385' and '2012-01-11T03:43:46.646' AND SSIA_ACCOUNT_CODE = 'BTAC466G' AND PORTFOLIO_CODE = '17466G' </SQL>
</ESP_SSIA_ACC_FEED>
]
[<?xml version="1.0" encoding="UTF-8"?><ESP_SSIA_ACC_FEED>^M
<BATCH_ID>10142011103500856BTAL2464</BATCH_ID>^M
<UID>1318603038699</UID>^M
<FEED_TYPE>FULL</FEED_TYPE>^M
<MART_NAME>SSIA_DM_TRANSACTIONS</MART_NAME>^M
<MART_TYPE>SSIA_TRANSACTIONS</MART_TYPE>^M
<CLIENT_ID>ESPDB</CLIENT_ID>^M
<SQL>FROM SSIA_DM_TRANSACTIONS WHERE ASAT BETWEEN^M
'2012-01-10T00:00:00.001' and '2012-01-10T23:59:59.999' AND^M
SSIA_ACCOUNT_CODE = 'BTAL2464' AND PORTFOLIO_CODE = 'BTAL2464'</SQL>^M
[<?xml version="1.0" encoding="UTF-8"?><ESP_SSIA_ACC_FEED>^M
<BATCH_ID>01112012034346646BTAL2464</BATCH_ID>^M
<UID>1326271480355</UID>^M
<FEED_TYPE>FULL</FEED_TYPE>^M
<MART_NAME>SSIA_DM_TRANSACTIONS</MART_NAME>^M
<MART_TYPE>SSIA_TRANSACTIONS</MART_TYPE>^M
<CLIENT_ID>ESPDB</CLIENT_ID>^M
<SQL>FROM SSIA_DM_TRANSACTIONS WHERE ASAT BETWEEN '2012-01-10T03:44:48.385' and '2012-01-11T03:43:46.646' AND SSIA_ACCOUNT_CODE = 'BTAL2464' AND PORTFOLIO_CODE = 'B02464' </SQL>^M
</ESP_SSIA_ACC_FEED>^M
]
[<?xml version="1.0" encoding="UTF-8"?><ESP_SSIA_ACC_FEED> <BATCH_ID>0118201201130853940</BATCH_ID> <UID>1326867190825</UID> <FEED_TYPE>FULL</FEED_TYPE> <MART_NAME>SSIA_DM_SECMASTER</MART_NAME> <MART_TYPE>SSIA_SECMASTER</MART_TYPE> <CLIENT_ID>ESPDB</CLIENT_ID> <SQL>FROM SSIA_DM_SECMASTER WHERE ASOF BETWEEN '2012-01-17' AND '2012-01-18' AND ASAT BETWEEN '2012-01-17T03:56:01.170' AND '2012-01-18T01:13:08.539' AND ASSET_TYPE_CODE = 40 </SQL>
</ESP_SSIA_ACC_FEED>
]
[<?xml version="1.0" encoding="UTF-8"?><ESP_SSIA_ACC_FEED> <BATCH_ID>0118201201130853910</BATCH_ID> <UID>1326867191296</UID> <FEED_TYPE>FULL</FEED_TYPE> <MART_NAME>SSIA_DM_SECMASTER</MART_NAME> <MART_TYPE>SSIA_SECMASTER</MART_TYPE> <CLIENT_ID>ESPDB</CLIENT_ID> <SQL>FROM SSIA_DM_SECMASTER WHERE ASOF BETWEEN '2012-01-17' AND '2012-01-18' AND ASAT BETWEEN '2012-01-17T03:56:01.170' AND '2012-01-18T01:13:08.539' AND ASSET_TYPE_CODE = 10 </SQL>
</ESP_SSIA_ACC_FEED>
]
Sorry.... The file contains bunch of XML code. Search for the id (Eg:01112012034346646BTAL2464) and pull the xml associated with the id.