Split line in to 3 lines


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Split line in to 3 lines
# 1  
Old 11-17-2010
Split line in to 3 lines

Hi,

I have a file which contains 1000's of lines. Each line is a log which is pretty long. So i want to split the each line based on 3 category.
1> Date
2><REQUEST>
3><RESPONSE>

So below is the example of a line.

Code:
2010-11-16 00:45:12,314<REQUEST><VALIDATION-ERROR><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Header><wsMessageHeader xmlns="http://integration.xyz.com/common/header/WSMessageHeader/v2"><trackingMessageHeader><applicationId>xyz</applicationId><applicationUserId>xyz</applicationUserId><consumerId>1001</consumerId><messageId>1215199</messageId><conversationId>1001</conversationId><timeToLive>123</timeToLive><messageDateTimeStamp>2010-11-16T00:45:15.199-06:00</messageDateTimeStamp></trackingMessageHeader><securityMessageHeader/></wsMessageHeader></soapenv:Header><soapenv:Body><manageTypeList xmlns="http://integration.xyz.com/interfaces/manageTypeList/v1/manageTypeList.xsd"><userIdentityInfo><ownerId>4352300190</ownerId><ownerType>MDN</ownerType></userIdentityInfo><TypeList><listName>BlockList</listName><contextName>BlockList</contextName></TypeList><authentication><loginId>123456</loginId><realm>SITEMINDER</realm><roleList><roleInfo><role>AccountHolder</role></roleInfo></roleList></authentication></manageTypeList></soapenv:Body></soapenv:Envelope></VALIDATION-ERROR></REQUEST><RESPONSE><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>Client.55</faultcode><faultstring>Input validation error</faultstring><faultactor>123</faultactor><detail><ns1:errorDetailItem xmlns:ns1="http://integration.xyz.com/common/ErrorDetails.xsd"><ns1:providerError><ns1:providerErrorCode>Client.55</ns1:providerErrorCode><ns1:providerErrorText>cvc-particle 3.1: in element TypeList of type TypeListType, found &lt;/TypeList>, but next item should be any of [deleteTypeListInd, TypeListInfo]</ns1:providerErrorText></ns1:providerError></ns1:errorDetailItem></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope></RESPONSE>

Requested Output should be like this;

Code:
2010-11-16 00:45:12,314
<REQUEST>
<RESPONSE>




Someone please assist me in formatting the thousand of lines in th above fashion.

Thanks in Advance.

Regards

RS
# 2  
Old 11-17-2010
Code:
$ sed 's/<REQUEST>.*<RESPONSE>.*/\n<REQUEST>\n<RESPONSE>/' < testdata
2010-11-16 00:45:12,314
<REQUEST>
<RESPONSE>
$

# 3  
Old 11-17-2010
I dint get the desired result.

Here is the output

Code:
2010-11-16 19:02:12,556n<REQUEST>n<RESPONSE>
2010-11-16 19:04:06,800n<REQUEST>n<RESPONSE>
2010-11-16 19:41:21,530n<REQUEST>n<RESPONSE>

Instead it should be something like this

Code:
2010-11-16 00:45:12,314

<REQUEST><VALIDATION-ERROR><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Header><wsMessageHeader xmlns="http://integration.xyz.com/common/header/WSMessageHeader/v2"><trackingMessageHeader><applicationId>xyz</applicationId><applicationUserId>xyz</applicationUserId><consumerId>1001</consumerId><messageId>1215199</messageId><conversationId>1001</conversationId><timeToLive>123</timeToLive><messageDateTimeStamp>2010-11-16T00:45:15.199-06:00</messageDateTimeStamp></trackingMessageHeader><securityMessageHeader/></wsMessageHeader></soapenv:Header><soapenv:Body><manageTypeList xmlns="http://integration.xyz.com/interfaces/manageTypeList/v1/manageTypeList.xsd"><userIdentityInfo><ownerId>4352300190</ownerId><ownerType>MDN</ownerType></userIdentityInfo><TypeList><listName>BlockList</listName><contextName>BlockList</contextName></TypeList><authentication><loginId>123456</loginId><realm>SIT</realm><roleList><roleInfo><role>AccountHolder</role></roleInfo></roleList></authentication></manageTypeList></soapenv:Body></soapenv:Envelope></VALIDATION-ERROR></REQUEST>

<RESPONSE><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>Client.55</faultcode><faultstring>Input validation error</faultstring><faultactor>123</faultactor><detail><ns1:errorDetailItem xmlns:ns1="http://integration.xyz.com/common/ErrorDetails.xsd"><ns1:providerError>
<ns1:providerErrorCode>Client.55</ns1:providerErrorCode><ns1:providerErrorText>cvc-particle 3.1: in element TypeList of type TypeListType, found &lt;/TypeList>, but next item should be any of [deleteTypeListInd, TypeListInfo]</ns1:providerErrorText></ns1:providerError></ns1:errorDetailItem></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope></RESPONSE>

# 4  
Old 11-17-2010
Code:
sed 's|<\([A-Z]*\)>.*</\1>|\n&|g' infile

Code:
sed 's|<\(RE[A-Z]*\)>.*</\1>|\n&|g' infile

Code:
sed 's|<\(REQUEST\)>.*</\1>|\n&|;s|<\(RESPONSE\)>.*</\1>|\n&|' infile

If you are on Solaris, better use /usr/xpg4/bin/sed .
# 5  
Old 11-17-2010
There is no change in result inspite using this also /usr/xpg4/bin/sed .
# 6  
Old 11-17-2010
Code:
perl -i -pe 'BEGIN{undef $/;} $_=~ s{(<REQUEST>.*?)(<RESPONSE>)}{\n\n$1\n\n$2}s' file

# 7  
Old 11-17-2010
Quote:
Originally Posted by raghunsi
There is no change in result inspite using this also /usr/xpg4/bin/sed .
Did you use the examples literally? Did you use the right input file. Did you redirect to an output file?
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Get an output of lines in pattern 1st line then 10th line then 11th line then 20th line and so on.

Input file: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 (6 Replies)
Discussion started by: Sagar Singh
6 Replies

2. Shell Programming and Scripting

Search for a pattern in a file and split the line into two lines

Hi All, Greetings everyone !!! I have a file which has many lines, out of which one line is as below. I need to search for pattern "varchar(30) Select" and if exists, then split the line as below. I am trying to achieve this in ksh. Can anyone help me on this. (8 Replies)
Discussion started by: Pradhikshan
8 Replies

3. Shell Programming and Scripting

Split a line into multiple lines based on delimeters

Hi, I need help to split any lines that contain ; or , input.txtAc020 Not a good chemical process AC030 many has failed, 3 still maintained AC040 Putative; epithelial cells AC050 Predicted binding activity AC060 rodC Putative; upregulated in 48;h biofilm vs planktonic The output... (8 Replies)
Discussion started by: redse171
8 Replies

4. Shell Programming and Scripting

Need a program that read a file line by line and prints out lines 1, 2 & 3 after an empty line...

Hello, I need a program that read a file line by line and prints out lines 1, 2 & 3 after an empty line... An example of entries in the file would be: SRVXPAPI001 ERRO JUN24 07:28:34 1775 REASON= 0000, PROCID= #E506 #1065: TPCIPPR, INDEX= 003F ... (8 Replies)
Discussion started by: Ferocci
8 Replies

5. Shell Programming and Scripting

How do I split a single-line input into five lines?

Example input: John:Shepherd:770-767-4040:U.S.A:New York Mo Jo:Jo Jo: 666-666-6666:U.S.A:Townsville Expected Output: First Name: John Last Name: Shepherd Phone Number: 770-767-4040 Country: U.S.A State: New York First Name: Mo Jo Last Name: Jo Jo Phone Number: 666-666-6666... (10 Replies)
Discussion started by: Camrikron
10 Replies

6. Shell Programming and Scripting

[Perl] Split lines into array - variable line items - variable no of lines.

Hi, I have the following lines that I would like to see in an array for easy comparisons and printing: Example 1: field1,field2,field3,field4,field5 value1,value2,value3,value4,value5Example 2: field1,field3,field4,field2,field5,field6,field7... (7 Replies)
Discussion started by: ejdv
7 Replies

7. Shell Programming and Scripting

split single line into two line or three lines

Dear All, I want to split single line into two line or three lines wherever “|” separated values comes using Input line test,DEMTEMPUT20100404010012,,,,,,,,|0070086|0070087, output shoule be test,DEMTEMPUT20100404010012,,,,,,,,0070086, test,DEMTEMPUT20100404010012,,,,,,,,0070087, (14 Replies)
Discussion started by: arvindng
14 Replies

8. Shell Programming and Scripting

Split a line on positions before reading complete line

Hi, I want to split before reading the complete line as the line is very big and its throwing out of memory. can you suggest. when i say #cat $inputFile | while read eachLine and use the eachLine to split its throwing out of memory as the line size is more than 10000000 characters. Can you... (1 Reply)
Discussion started by: vijaykrc
1 Replies

9. UNIX for Dummies Questions & Answers

Split data into multiple lines

All, I have a requirement where I will need to split a line into multiple lines. Ex: Input: 2ABCDEFGH2POIYUY2ASDGGF2QWERTY Output: 2ABCDEFGH 2POIYUY 2ASDGGF 2QWERTY The data is of no fixed lenght. Only the lines have to start with 2. How can this be done. (5 Replies)
Discussion started by: kingofprussia
5 Replies

10. Shell Programming and Scripting

Split a huge line into multiple 120 characters lines with sed?

Hello , I'm trying to split a file which contains a single very long line. My aim is to split this single line each 120 characters. I tried with the sed command : `cat ${MYPATH}/${FILE}|sed -e :a -e 's/^.\{1,120\}$/&\n/;ta' >{MYPATH}/${DEST}` but when I wc -l the destination file it is... (2 Replies)
Discussion started by: jerome_1664
2 Replies
Login or Register to Ask a Question