Sponsored Content
Top Forums UNIX for Dummies Questions & Answers Split 1 column into numerous columns based on patterns Post 302957590 by RudiC on Tuesday 13th of October 2015 06:11:22 AM
Old 10-13-2015
Try
Code:
awk '
BEGIN           {SRCH="NEW (PRODUCT|ITEM), VERSION 1.1"
                }

function        PRT()   {printf "\n"
                         for (i=1; i<=VMAX; i++)
                                {for (j=1; j<=FCNT; j++)
                                        printf "%s\t", PRTARR[FSQ[j],i]
                                 printf "\n"
                                }
                         delete PRTARR
                        }

$0 ~ SRCH       {if (NR > 1) PRT()
                 print
                 getline
                 print
                 VMAX = 0
                 FCNT = 0
                 next
                }

/^"PROD/        {next
                }

/^FIELD/        {IDX = $1
                 VCNT = 0
                 printf "%s\t", IDX
                 FSQ[++FCNT] = IDX
                 next
                }

IDX             {PRTARR[IDX,++VCNT] = $1
                 if (VCNT > VMAX) VMAX = VCNT
                }

END             {PRT()
                }
' file
"NEW PRODUCT, VERSION 1.1"
PRODUCT_01
FIELD_X FIELD_Y
11.11   22.22
11.22   22.33
11.33
11.44
"NEW PRODUCT, VERSION 1.1"
PRODUCT_02
FIELD_X FIELD_Y FIELD_Z
33.33   44.44   55.55

This User Gave Thanks to RudiC For This Post:
 

10 More Discussions You Might Find Interesting

1. Web Development

split the fields in a column into 3 columns

Have a column "address" which is combination of city, region and postal code like. Format is : city<comma><space>region<space>postal code abc, xyz 123456 All these three city, region and postal code are not mandatory. There can be any one of the above. In that case a nell... (2 Replies)
Discussion started by: rakshit
2 Replies

2. UNIX for Dummies Questions & Answers

split one column into multiple columns

hey guys... Im looking to do the following: 1 2 3 4 5 6 7 8 9 Change to: 1 4 7 2 5 8 3 6 9 Did use | perl -lpe'$\=$.%3?$":"\n"' , but it doesnt give me the matrix i want. (3 Replies)
Discussion started by: zaneded
3 Replies

3. Shell Programming and Scripting

split one column into multiple columns

hey, i have the following data: 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 (7 Replies)
Discussion started by: zaneded
7 Replies

4. Shell Programming and Scripting

Split into columns based on the parameter and use & as delimiter

Here is my source, i have million lines like this on a file. disp0201.php?poc=4060&roc=1&ps=R&ooc=13&mjv=6&mov=5&rel=5&bod=155&oxi=2&omj=5&ozn=1&dav=20&cd=&daz=& drc=&mo=&sid=&lang=EN&loc=JPN I want to split this into columns in order to load in database, anything starts with"&mjv=6" as first... (13 Replies)
Discussion started by: elamurugu
13 Replies

5. Shell Programming and Scripting

Split the file based on column

Hi, I have a file sample_1.txt (300k rows) which has data like below: * Also each record is around 64k bytes 11|1|abc|102553|125589|64k bytes of data 10|2|def|123452|123356|...... 13|2|geh|144351|121123|... 25|4|fgh|165250|118890|.. 14|1|abc|186149|116657|......... (6 Replies)
Discussion started by: sol_nov
6 Replies

6. UNIX for Dummies Questions & Answers

Split file based on column

i have file1.txt asdas|csada|130310|0423|A1|canberra sdasd|sfdsf|130426|2328|A1|sydney Expected output : on eaceh third and fourth colum, split into each two characters asdas|csada|13|03|10|04|23|A1|canberra sdasd|sfdsf|13|04|26|23|28|A1|sydney (10 Replies)
Discussion started by: radius
10 Replies

7. Shell Programming and Scripting

awk to sum a column based on duplicate strings in another column and show split totals

Hi, I have a similar input format- A_1 2 B_0 4 A_1 1 B_2 5 A_4 1 and looking to print in this output format with headers. can you suggest in awk?awk because i am doing some pattern matching from parent file to print column 1 of my input using awk already.Thanks! letter number_of_letters... (5 Replies)
Discussion started by: prashob123
5 Replies

8. UNIX for Dummies Questions & Answers

File merging based on column patterns

Hello :) I am in this situation: Input: two tab-delimited files, `File1` and `File2`. `File2` (`$2`) has to be parsed by patterns found in `File1` (`$1`). Expected output: tab-delimited file, `File3`. `File3` has to contain the same rows as `File2`, plus the corresponding value in... (5 Replies)
Discussion started by: dovah
5 Replies

9. UNIX for Beginners Questions & Answers

How to split a column based on |?

Hi all, Newbie here, so please bear over with my stupid question :) I have used far too long time today on figuring this out, so I hope that someone here can help me move on. I have some annotation data for a transcriptome where I want to split a column containing NCBI accession IDs into a... (7 Replies)
Discussion started by: BioBing
7 Replies

10. UNIX for Beginners Questions & Answers

Using awk to split a column into two columns

Hi, I am trying to split the following output into two columns, where each column has Source: Destination: OUTPUT TO FILTER $ tshark -r Capture_without_mtr.pcap -V | awk '/ (Source|Destination): /' | more Source: x.x.x.x Destination: x.x.x.x Source:... (2 Replies)
Discussion started by: sand1234
2 Replies
mitem_opts(3X)															    mitem_opts(3X)

NAME
mitem_opts - set and get menu item options SYNOPSIS
#include <menu.h> int set_item_opts(ITEM *item, Item_Options opts); int item_opts_on(ITEM *item, Item_Options opts); int item_opts_off(ITEM *item, Item_Options opts); Item_Options item_opts(const ITEM *item); DESCRIPTION
The function set_item_opts sets all the given item's option bits (menu option bits may be logically-OR'ed together). The function item_opts_on turns on the given option bits, and leaves others alone. The function item_opts_off turns off the given option bits, and leaves others alone. The function item_opts returns the item's current option bits. There is only one defined option bit mask, O_SELECTABLE. When this is on, the item may be selected during menu processing. This option defaults to on. RETURN VALUE
Except for item_opts, each routine returns one of the following: E_OK The routine succeeded. E_SYSTEM_ERROR System error occurred (see errno). SEE ALSO
curses(3X), menu(3X). NOTES
The header file <menu.h> automatically includes the header file <curses.h>. PORTABILITY
These routines emulate the System V menu library. They were not supported on Version 7 or BSD versions. AUTHORS
Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S. Raymond. mitem_opts(3X)
All times are GMT -4. The time now is 01:15 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy