Help with shell script - splitting


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Help with shell script - splitting
# 1  
Old 09-24-2009
Help with shell script - splitting

Hi,

I need to split the file lines in below format as.

Input file : Sample.txt
Code:
             <Rule expression="DeliverToCompID IS NULL" invert="true">
             <Rule field="PossDupFlag" value="Y" >
             <Rule expression="OrdStatus = '2' AND OrigClOrdID IS NULL">

Output after splitting as
Code:
             Rule, expression="DeliverToCompID IS NULL", invert="true"
             Rule, field="PossDupFlag",  value="Y"
             Rule, expression="OrdStatus = '2' AND OrigClOrdID IS NULL"

Thanks.
# 2  
Old 09-24-2009
Code:
sed 's/<Rule \(.*\)>/Rule, \1/' file

# 3  
Old 09-24-2009
danmero,

it will split the line into two only. but i need to split 2 or 3 depends upon the text in the line.

Code:
sed 's/<Rule \(.*\)>/Rule, \1/' Sample.txt
Rule, expression="DeliverToCompID IS NULL" invert="true"
Rule, field="PossDupFlag" value="Y"
Rule, expression="OrdStatus = '2' AND OrigClOrdID IS NULL"

Thanks for your reply.
# 4  
Old 09-24-2009
Post data sample and required output Smilie

Ops , I see Smilie
Code:
             Rule, expression="DeliverToCompID IS NULL", invert="true"
             Rule, field="PossDupFlag",  value="Y"
             Rule, expression="OrdStatus = '2' AND OrigClOrdID IS NULL"

Let's see now
Code:
# sed 's/<//;s/\(Rule\)/&,/;s/\([^=]"\)/&,/g;s/,*.>$//' f6
             Rule, expression="DeliverToCompID IS NULL", invert="true"
             Rule, field="PossDupFlag", value="Y"
             Rule, expression="OrdStatus = '2' AND OrigClOrdID IS NULL"


Last edited by danmero; 09-24-2009 at 12:34 PM.. Reason: Final
# 5  
Old 09-24-2009
danmero,

Its working now. can you explain what does this sed command do's ??

Thanks.

---------- Post updated at 09:54 AM ---------- Previous update was at 08:46 AM ----------

danmero,

if the first word is apart from Rule, comma is not added to that specific word. can you tell me how apply for all the first work.

Input Sample file :

Code:
<Rule expression="DeliverToCompID IS NULL" invert="true" sample="no">
<Rule field="PossDupFlag" value="Y" >
<Copy field="ExecType" from="OrdStatus" override="true" />
<Rule field="LastMkt" value="N" >
<Rule expression="ClOrdID = OrigClOrdID">
<Set field="Account" value="PERS" override="true" />

Output :

Code:
sed 's/<//;s/\(Rule\)/&,/;s/\([^=]"\)/&,/g;s/,*.>$//' Sample.txt
Rule, expression="DeliverToCompID IS NULL", invert="true", sample="no"
Rule, field="PossDupFlag", value="Y"
Rule, expression="OrdStatus = '2' AND OrigClOrdID IS NULL"
Copy field="ExecType", from="OrdStatus", override="true",
Rule, field="LastMkt", value="N"
Rule, field="OrdType", values="1|5"
Rule, expression="ClOrdID = OrigClOrdID"
Set field="Account", value="PERS", override="true",

Thanks.
# 6  
Old 09-24-2009
Quote:
Originally Posted by manosubsulo
Input Sample file :

Code:
<Rule expression="DeliverToCompID IS NULL" invert="true" sample="no">
<Rule field="PossDupFlag" value="Y" >
<Copy field="ExecType" from="OrdStatus" override="true" />
<Rule field="LastMkt" value="N" >
<Rule expression="ClOrdID = OrigClOrdID">
<Set field="Account" value="PERS" override="true" />

Code:
# cat file
<Rule expression="DeliverToCompID IS NULL" invert="true" sample="no">
<Rule field="PossDupFlag" value="Y" >
<Copy field="ExecType" from="OrdStatus" override="true" />
<Rule field="LastMkt" value="N" >
<Rule expression="ClOrdID = OrigClOrdID">
<Set field="Account" value="PERS" override="true" />

# sed 's/.*<//;s/ /,&/;s/\([^=]"\)/&,/g;s/\(.*\),\(.*\)/\1/' file
Rule, expression="DeliverToCompID IS NULL", invert="true", sample="no"
Rule, field="PossDupFlag", value="Y"
Copy, field="ExecType", from="OrdStatus", override="true"
Rule, field="LastMkt", value="N"
Rule, expression="ClOrdID = OrigClOrdID"
Set, field="Account", value="PERS", override="true"


Last edited by danmero; 09-24-2009 at 03:46 PM.. Reason: OP change the requirement
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Modifying an awk script for syllable splitting

I have found this syllable splitter in awk. The code is given below. Basically the script cuts words and names into syllables. However it fails when the word contains 2 consonants which constitute a single syllable. An example is given below ashford raphael The output is as under: ... (4 Replies)
Discussion started by: gimley
4 Replies

2. UNIX for Dummies Questions & Answers

File splitting script help

Hi All, I have file in my system with below data PP1234512345671234567CABC PP1234512345671234567BABC PP1234512345671234567BABC PP1234512345671234567CABC PP1234512345671234567DABC PP1234512345671234567EABC PP1234512345671234567DABC PP1234512345671234567EABC... (10 Replies)
Discussion started by: ibrar Ahmad
10 Replies

3. UNIX for Dummies Questions & Answers

Is there any way of splitting the script (Noob Here).

I m writing a script to check Server Hardening. The problem is whenever i add new point it grows and it become very tedious to edit the script file. Is there any way of making them separate and call them from one base script? Is it possible to define global variable that can be accessed via... (5 Replies)
Discussion started by: pinga123
5 Replies

4. Shell Programming and Scripting

script for splitting file

Can anyone help me in giving a script for the below scenario I have file from the source increamenting in size... I require to write a script witch will move the data to the new file once the file reaches 50MB of size . This needs If the first file reaches 50MB then my script has to generate... (3 Replies)
Discussion started by: Sudhakishore.P
3 Replies

5. Shell Programming and Scripting

Splitting the files via shell script

Hi all, We have 102 flat files created by Informatica from 102 tables. These 102 files contain pharmcy details. There are a total of 450 pharmcyids.The naming convention for the flat file is ODS_<TABLE NAME>_yyyymmdd_timestamp.dat. Each flat file may contain data for 450 pharmacies which is... (2 Replies)
Discussion started by: Maya_Pillai
2 Replies

6. Shell Programming and Scripting

File splitting and grouping using unix script

Hello All, I have a small problem with file group/splitting and I am trying to get the best way to perform this in unix. I am trying with awk but need some suggestion what would be the best and fastest way to-do it. Here is the problem. I have a fixed length file with filled with product... (4 Replies)
Discussion started by: nandhan11891
4 Replies

7. Shell Programming and Scripting

shell - word splitting - using eval

In POSIX shell, we don't have arrays, but we can iterate over a list like this: #!/bin/sh list="Fred Barney Wilma Betty" for i in $list; do echo $i; done Fred Barney Wilma Betty But let's say we want "Mr. Slate" in the list. We know we can't just stick him in there like this:... (5 Replies)
Discussion started by: mjd_tech
5 Replies

8. UNIX for Dummies Questions & Answers

splitting shell window

hi is it possible to split the shell window in two or more parts like split command vi? i am using putty as telnet client. (2 Replies)
Discussion started by: ilayans
2 Replies

9. Shell Programming and Scripting

Need help in splitting a line into fields in shell scripting

I have a line of more than 3000 bytes which will contain & as fields separator..I am using following awk command ..Its working but its not accepting the line more than 3000 bytes...Anyother alternate solution even in othe shell command also fine... awk -F '&' '{for( i=1; i<=NF; i++ ) print $i}'... (2 Replies)
Discussion started by: punithavel
2 Replies

10. Shell Programming and Scripting

Selectively splitting a file with C-shell?

I have a rather long csh script that works, but it's terribly ungraceful and takes a while from various loops. I only know enough code to get myself into trouble, so I'm looking for some guidance. I have a large file that is separated at intervals by the same line, like this: ... (2 Replies)
Discussion started by: fusi0n
2 Replies
Login or Register to Ask a Question