Bernhard L�der wrote:

>Hi,
>
>I need to convert 2 lines of data to one.
>
>This is the data I can extract from the data base:
>FIXEDdata1,Flexibledata1,Neededdata1
>FIXEDdata1,Flexibledata2,Flexibledata3,Flexibledata4,Flexibledata5,Flexibled
>ata6,Flexibledata7,Neededdata2,Neededdata3,Flexibledata8
>
>This is the data I want to use in a comma separated from:
>Neededdata1,Neededdata2,Neededdata3
>
>How can I strip off the FIXEDdata and the Flexibledata so I only keep the
>Neededdata?
>
>There is always multiple double lines of data with some single lines, like:
>FIXEDdata1,Flexibledata1,Neededdata1
>FIXEDdata1,Flexibledata1,Neededdata1
>FIXEDdata1,Flexibledata1,Neededdata1
>FIXEDdata1,Flexibledata2,Flexibledata3,Flexibledata4,Flexibledata5,Flexibled
>ata6,Flexibledata7,Neededdata2,Neededdata3,Flexibledata8
>FIXEDdata1,Flexibledata1,Neededdata1
>FIXEDdata1,Flexibledata2,Flexibledata3,Flexibledata4,Flexibledata5,Flexibled
>ata6,Flexibledata7,Neededdata2,Neededdata3,Flexibledata8
>FIXEDdata1,Flexibledata1,Neededdata1
>FIXEDdata1,Flexibledata2,Flexibledata3,Flexibledata4,Flexibledata5,Flexibled
>ata6,Flexibledata7,Neededdata2,Neededdata3,Flexibledata8
>.........
>

Step 1: - Make sure the short lines are unique.

Step 2:  Use the following substitution patterns with sed or egrep:

For the 'short' lines with only 3 bits of data:
s/\(,[a-zA-Z]*$\)/\1/

For the longer lines:
s/\(,[a-zA-Z]*\)\(,[a-zA-Z]*\),[a-zA-Z]*$/\1\2/

(Untested but should work OK)

Regards,

Andrew E.

-- 
SLUG - Sydney Linux User Group Mailing List - http://slug.org.au/
More Info: http://lists.slug.org.au/listinfo/slug

Reply via email to