Removing LF and extracting two fields


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Removing LF and extracting two fields
# 1  
Old 07-22-2008
Removing LF and extracting two fields

I need some assistance, I am writing a script in bash.

I want to do two things:
1/. I want to replace the LF at the end of the RFH  Ĝ  ¸MQSTR ¸ so I can process the file record by record using a while loop.

2/. I want to extract two fields from each record, they are identified with tabs <RequestID></RequestID> and <error:Info></error:Info> from the sample data below.

In my file as shown below, each record in the file starts with: RFH  Ĝ  ¸MQSTR ¸ followed LF followed by the data:

RFH  Ĝ  ¸MQSTR ¸
<usr><SourceID>SYSA</SourceID><DSType>SPIResults</DSType><Source>SYSA</Source><Destina
tion>PortalSystem</Destination><RequestID>1000005</RequestID><TargetTablePrimaryKey>5</
TargetTablePrimaryKey><Replay><Original/><Current><DestinationSystemID>SYSA</DestinationSy
stemID></Current></Replay><TargetURI>SYSB</TargetURI><DestinationID>SYSA<
/DestinationID></usr> <mcd><Msd>xmlns</Msd></mcd> <?xml version="1.0"
encoding="UTF-8"?><error:Code>001</error:Code><error:Info>An error occured whilst trying
to process a routing request, see attached exception lists for
details</error:Info><error:OriginalExceptionData></mm:MessageMetadata><mf:MessageFormat SchemaVersion="1.0"><mf:MessageType><msg:Type>SPIResults</msg:Type><msg:Version>1.200</msg:Version>
RFH  Ĝ  ¸MQSTR ¸
<usr><SourceID>SYSA</SourceID><DSType>SPIResults</DSType><Source>SYSA</Source><Destina
tion>PortalSystem</Destination><RequestID>1000005</RequestID><TargetTablePrimaryKey>5</
TargetTablePrimaryKey><Replay><Original/><Current><DestinationSystemID>SYSA</DestinationSy
stemID></Current></Replay><TargetURI>SYSB</TargetURI><DestinationID>SYSA<
/DestinationID></usr> <mcd><Msd>xmlns</Msd></mcd> <?xml version="1.0"
encoding="UTF-8"?><error:Info>An error occured whilst trying to process a routing request,
see attached exception lists for details</error:Info><error:OriginalExceptionData>
RFH  Ĝ  ¸MQSTR ¸
<usr><SourceID>SYSA</SourceID><DSType>SPIResults</DSType><Source>SYSA</Source><Destina
tion>PortalSystem</Destination><RequestID>1000005</RequestID><TargetTablePrimaryKey>5</
TargetTablePrimaryKey><Replay><Original/><Current><DestinationSystemID>SYSA</DestinationSy
stemID></Current></Replay><TargetURI>SYSB</TargetURI><DestinationID>SYSA<
/DestinationID></usr> <mcd><Msd>xmlns</Msd></mcd> <?xml version="1.0"
encoding="UTF-8"?><error:Info>An error occured whilst trying to process a routing request,
see attached exception lists for details</error:Info></mm:MessageMetadata><mf:MessageFormat SchemaVersion="1.0"><mf:MessageType><msg:Type>SPIResults</msg:Type>
# 2  
Old 07-22-2008
1st: Please use [ c o d e ] [ / c o d e ] tags!!

A bit lengthy, maybe someone comes up a shorter version:
Code:
cat infile |\
tr -d '\n' |\
sed 's/[^^]RFH/\nRFH/g' |\
sed 's!.*<RequestID>\([^<]*\)<\/RequestID>.*<error:Info>\([^<]*\)<\/error:Info>.*!\1 \2!g'

Both steps are combined. Not sure if you need to loop for the second step, if so, there is no need to loop, as sed take a stream and checks every single line of input. If you only want step 1 though, just stop after the 1st line of sed ie. redirect it to a new file or whatever.

Last edited by zaxxon; 07-22-2008 at 10:38 AM.. Reason: Adding notice to use code tags
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Extracting specific fields from an XML file

Hello All, I have a requirement to split the input.xml file different files and i have tried using earlier examples(where i have posted in the forum), but still no luck Here is my input.xml <jms-system-resource> <name>UMSJMSSystemResource</name> ... (4 Replies)
Discussion started by: Siv51427882
4 Replies

2. Shell Programming and Scripting

UNIX extracting fields

I have one file A.txt which is comma separated and I want to extract first 4 field's in a file and also I want to add one more column in output A.txt in output for all records. A.txt should not be hard coded since I do not filename it may be any file. (1 Reply)
Discussion started by: vamsi.valiveti
1 Replies

3. Shell Programming and Scripting

Pattern Matching and extracting the required fields in Perl

Hi All, I am writing the following Perl Scrip and need your help in Pattern matching : I have the following Shell Script that would read line by line from the file (file_svn) and would inturn calls the Perl Script: #!/bin/bash perl_path="/home/dev/filter"... (2 Replies)
Discussion started by: filter
2 Replies

4. Shell Programming and Scripting

Help in extracting fields from a file

I have an input file with contents like: 203969 OrdAcctCycChg USAGE_DAEMON1 203970 OrdAcctCycChg USAGE_DAEMON2 203971 OrdAcctCycChg USAGE_DAEMON3 203972 OrdAcctCycChg USAGE_DAEMON4 I need to extract variables in first column... (51 Replies)
Discussion started by: Rajesh Putnala
51 Replies

5. Shell Programming and Scripting

need help in writing a script for extracting fields

Hi, I need to extract last character of the field retrieved from the database using select command. eg: select event,text from event_data; o/p: Event1,text1 But I need to extract only '1' from the fields...similarly '2' from Event2,text2 and '3' from Event3,text3 etc., and need to pass... (6 Replies)
Discussion started by: Rajesh Putnala
6 Replies

6. Shell Programming and Scripting

Extracting fields from file

I am need to extract a number of values from a file, put have now clue how to do this. The file looks like this: # My file Dest=87;CompatibleSystemSoftwareVersion=2.5300-; Dest=87;ImageVersion=000061f3;SystemSoftwareVersion=2.5300;CDN=http://my.backup.com/download.txt;CDN_Timeout=30; I... (3 Replies)
Discussion started by: MagicDude4Eva
3 Replies

7. Shell Programming and Scripting

extracting fields

Hi, i have a line with several fields (indefinite number of - count varies) separated by colon. Now, i need to pick each field (except the first one) and have it assigned to variable within a loop. In other words, in the first iteration of the loop, the variable must be assigned with 2nd... (2 Replies)
Discussion started by: prvnrk
2 Replies

8. UNIX for Dummies Questions & Answers

Extracting information from text fields.

Dear friends, I'm a novice Unix user and I'm trying to learn the ropes. I have a big task I have to accomplish and I'm convinced Unix can get the job done, I just haven't figured out how. I recently posted on the topic of cutting text between unique text patterns and somebody helped me a great... (24 Replies)
Discussion started by: spindoctor
24 Replies

9. Shell Programming and Scripting

Removing certain fields from a file

Hi, I have a file namely 'inputs' The values inside the file are like this and seperated by a '|'. mani|21|CSE How can I extract the values from this file without the '|' symbol. Thanks in advance. (1 Reply)
Discussion started by: sendhilmani123
1 Replies

10. Shell Programming and Scripting

Extracting fields from an output 8-)

I am getting a variable as x=2006/01/18 now I have to extract each field from it. Like x1=2006, x2=01 and x3=18. Any idea how? Thanks a lot for help. Thanks CSaha (6 Replies)
Discussion started by: csaha
6 Replies
Login or Register to Ask a Question