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
