Sponsored Content
Full Discussion: Split columns into rows
Top Forums Shell Programming and Scripting Split columns into rows Post 302969833 by Akshay Hegde on Tuesday 29th of March 2016 02:46:01 AM
Old 03-29-2016
Try

Input
Code:
[akshay@localhost tmp]$ cat f
10000|1442000000:[-99]|latChangeDate:1400|latest:-99
10001|1446:[-99]|latChangeDate:144385400|latest:351592174|1448400:[35374]
10002|1424:[38006],latChangeDate:144246|latest:355746
10003
10004|14424:[358386]|latChangeDate:14425200|latest:35872386
10005|14480:[351435]|latest:351935


command

Code:
[akshay@localhost tmp]$ awk -vext='latChangeDate,latest' '
BEGIN{
    FS=OFS="|"
    split(ext,s,/,/)
    print "ID|latChangeDate|latest"
}
{ 
    str=$1 
    for(i=1; i in s; i++)
    str = str OFS ((match($0,s[i]":[^|]*"))? (substr($0,RSTART+length(s[i])+1,RLENGTH-(length(s[i])+1))) :"XXXX") 
    print str 
}'  f


output

Code:
ID|latChangeDate|latest
10000|1400|-99
10001|144385400|351592174
10002|144246|355746
10003|XXXX|XXXX
10004|14425200|35872386
10005|XXXX|351935

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

split rows

Hi I wanted to split rows based on the number of 1's present in 21st field(21st field is 40 length field) so I wrote the below awk code. However, the tool that I am using to invoke the command is not recognising the command. So, could you please help me to translate this command to sed? awk... (5 Replies)
Discussion started by: ahmedwaseem2000
5 Replies

2. Shell Programming and Scripting

Split rows

Hi all, I need a simple bin/sh script FILE1: ab1 gegege swgdeyedg ac2 jxjjxjxjxxjxjx ad3 ae4 xjxjxj zhzhzh ahahs af5 sjsjsjs ssjsjsjsj sjsjsj ag6 shshshshs sjjssj shhshshs myScript.sh has to return: ROW ab1 ROW ac2 ROW ad3 ROW ae4 In other words: "ROW " + the first world... (3 Replies)
Discussion started by: ric79
3 Replies

3. Shell Programming and Scripting

Split single rows to multiple rows ..

Hi pls help me out to short out this problem rm PAB113_011.out rm: PAB113_011.out: override protection 644 (yes/no)? n If i give y it remove the file. But i added the rm command as a part of ksh file and i tried to remove the file. Its not removing and the the file prompting as... (7 Replies)
Discussion started by: sri_aue
7 Replies

4. Shell Programming and Scripting

split paste them in rows

Hi, I have a file as ABC 123_456_789 234_678_901 XYZ 1100_1250_1580_1680 1175_1440_1620_1890 so on What I want my output file to look is "split by underscore and then place the contents in rows" output ABC 123 234 ABC 456 678 ABC 789 901 XYZ 1100 1175 XYZ 1250 1440... (3 Replies)
Discussion started by: Diya123
3 Replies

5. Shell Programming and Scripting

Deleting all the fields(columns) from a .csv file if all rows in that columns are blanks

Hi Friends, I have come across some files where some of the columns don not have data. Key, Data1,Data2,Data3,Data4,Data5 A,5,6,,10,, A,3,4,,3,, B,1,,4,5,, B,2,,3,4,, If we see the above data on Data5 column do not have any row got filled. So remove only that column(Here Data5) and... (4 Replies)
Discussion started by: ks_reddy
4 Replies

6. Shell Programming and Scripting

Evaluate 2 columns, add sum IF two columns match on two rows

Hi all, I know this sounds suspiciously like a homework course; but, it is not. My goal is to take a file, and match my "ID" column to the "Date" column, if those conditions are true, add the total number of minutes worked and place it in this file, while not printing the original rows that I... (6 Replies)
Discussion started by: mtucker6784
6 Replies

7. Shell Programming and Scripting

Compare 2 csv files by columns, then extract certain columns of matcing rows

Hi all, I'm pretty much a newbie to UNIX. I would appreciate any help with UNIX coding on comparing two large csv files (greater than 10 GB in size), and output a file with matching columns. I want to compare file1 and file2 by 'id' and 'chain' columns, then extract exact matching rows'... (5 Replies)
Discussion started by: bkane3
5 Replies

8. Shell Programming and Scripting

awk split columns after matching on rows and summing the last column

input: chr1 1 2 3 chr1 1 2 4 chr1 2 4 5 chr2 3 6 9 chr2 3 6 10 Code: awk '{a+=$4}END{for (i in a) print i,a}' input Output: chr112 7 chr236 19 chr124 5 Desired output: chr1 1 2 7 chr2 3 6 19 chr1 2 4 5 (1 Reply)
Discussion started by: jacobs.smith
1 Replies

9. Shell Programming and Scripting

How to split all columns into multiple columns?

Hi, all. How can I split all columns into multiple columns separated by tab? Input: qq ee TT 12 m1 aa gg GG 34 2u zz dd hh 56 4h ww cc JJ 78 5y ss ff kk 90 j8 xx pp mm 13 p0 Output: q q e e T T 1 2 m 1 a a g g G G 3 4 2 u z z d d h h 5 6 4 h w w c c J J 7 8 5 y (8 Replies)
Discussion started by: huiyee1
8 Replies

10. Shell Programming and Scripting

Split multi columns line to 2 columns

I have data like this 1 a,b,c 2 a,c 3 b,d 4 e,f would like convert like this 1 a 1 b 1 c 2 a 2 c 3 b 3 d 4 e 4 f Please help me out (4 Replies)
Discussion started by: jhonnyrip
4 Replies
GRI_MERGE(1)						      General Commands Manual						      GRI_MERGE(1)

NAME
gri_merge - merge multiple Gri output files into a single PostScript file. USAGE (style 1): gri_merge [OPTIONS] CxR a.ps b.ps ... > merged_file.ps Merges the files onto one page, in 'C' columns and 'R' rows. The CxR files are given in the order of words on a page. The page is pre- sumed to be 8.5x11in in size, as are all the input files, and the input files are sized to fit, and kept in natural scale. USAGE (style 2): gri_merge [OPTIONS] xcm ycm enlarge a.ps [b.ps ...] > merged_file.ps Where `enlarge' is a scale factor applied after offsetting `xcm' to the right and `ycm' upward. EXAMPLE (style 2): The following gri_merge 2 12 .5 a.ps 12 12 .5 b.ps 2 2 .5 c.ps 12 2 .5 d.ps > all.ps produces 4 panels from gri plots done using margins and sizes as specified in the following lines in a gri commandfile set x margin 2 set x size 15 set y margin 2 set y size 15 The OPTIONS, available if your 'perl' has 'getopts' library, are: -u graylevel -- set graylevel for underlay beneath panels, by default 0.75. Values range from 0 (black) to 1 (white), although a value of precisely 1 means do NOT draw underlay. -b graylevel -- Set value for background under individual panels, again 0 for black to 1 for white, with 1 meaning no drawing. -h -- Print this help message and quit. SEE ALSO
gri(1), gri_unpage(1) gri_merge 2009 GRI_MERGE(1)
All times are GMT -4. The time now is 01:23 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy