Pivot using awk


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Pivot using awk
# 1  
Old 06-20-2014
Pivot using awk

Hi,

I am writing a code to basically pivot the data.

Quote:
Input Format
V1 : Value1
V2 : Value2
V3 : Value3
V4 : Value4
V5 : Value5

Required Output Format
Value1|Value2|Value3|Value4|Value5
Code:
awk -v var1="" -v var2="" -v var3="" -v var4="" -v var5="" -v Disp=0\
'BEGIN {FS=":"; OFS="|";}\
/^Pattern1/ {var1=$2;Disp=0;} \
/^Pattern2/ {var2=$2;} \
/^Pattern3/ {var3=$2;} \
/^Pattern4/ {var4=$2;} \
/^Pattern5/ {var5=$2;Disp=1;} \
{
print "$var1,$var2,$var3,$var4,$var5"
}' "InputFile" "OutputFile"

But I am getting the below issues
a) $2 is picking the entire record
b) print statement is displaying result as below
Quote:
Value1|Value1|Value1|Value1|Value1
Value2|Value2|Value2|Value2|Value2
Value3|Value3|Value3|Value3|Value3
Value4|Value4|Value4|Value4|Value4
Value5|Value5|Value5|Value5|Value5
c) How can we remove leading and trailing spaces of Value1... Value5
# 2  
Old 06-20-2014
  1. awk != perl
  2. var != $var
# 3  
Old 06-20-2014
Can't you use something simple like:
Code:
awk '{print $NF}' file | paste -sd \| -

Or is the output not always one line? Are your sample representative for your actual input and output ?
# 4  
Old 06-20-2014
Try also
Code:
awk '{OUT=OUT DELIM $NF; DELIM="|"} END {print OUT}' file
Value1|Value2|Value3|Value4|Value5

# 5  
Old 06-21-2014
and this ???

Code:
 awk -F"[: ]" 'BEGIN{ORS="|";}{print $NF}' file

# 6  
Old 06-21-2014
Quote:
Originally Posted by protocomm
and this ???

Code:
 awk -F"[: ]" 'BEGIN{ORS="|";}{print $NF}' file

That works too, but the problem is that the last character is a pipe symbol instead of a newline.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Pivot example

Hi all, I am new to shell scripting so pardon me for the questions I will be asking. I was given a task where I have to pivot my data Example Source SGPAPCTUMACCHEA Expected output SGP APC TUM SGP APC ACC SGP APC HEA Can anybody assist me on this?Please use CODE tags as required... (3 Replies)
Discussion started by: redaela
3 Replies

2. Programming

DB Query for Pivot

hi team With below results in Db2 v10.5 . Please refer column A and B are same,while Staus column defers with distinct values . A B STATUS Insert Update Old Insert Update New Insert Update Final Can someone guide how to... (2 Replies)
Discussion started by: Perlbaby
2 Replies

3. Shell Programming and Scripting

Awk- Pivot Table Averages

Hi everyone, Has anyone figured out yet how to do pivot table averages using AWK. I didn't see anything with regards to doing averages. For example, suppose you have the following table with various individuals and their scores in round1 and round2: SAMPLE SCORE1 SCORE2 British ... (6 Replies)
Discussion started by: Geneanalyst
6 Replies

4. UNIX for Beginners Questions & Answers

Data Pivot

Good Day, I have file input 6285296582710|20170509|INDOTEL 6285296835209|20170509|INDOTEL 6285296940311|20170509|INDOTEL 6285297027737|20170509|MULTIFLAG 6285297027737|20170509|DELTA 6285297304373|20170510|INDOTEL 6285297384129|20170510|INDOTEL 6285296940311|20170510|MULTIFLAG... (2 Replies)
Discussion started by: radius
2 Replies

5. Shell Programming and Scripting

Pivot data using awk

Hi My Input is like below DELETE|MPI|AUD_UPD_AGENT|MPISYS INSERT|MPI|AUD_UPD_AGENT|MPISYS SELECT|MPI|AUD_UPD_AGENT|MPISYS UPDATE|MPI|AUD_UPD_AGENT|MPISYS DELETE|MPI|BDYMOD|MPISYS INSERT|MPI|BDYMOD|MPISYS SELECT|MPI|BDYMOD|MPISYS UPDATE|MPI|BDYMOD|MPISYS DELETE|MPI|BDYMOD_DESC|MPISYS... (4 Replies)
Discussion started by: dineshaila
4 Replies

6. Shell Programming and Scripting

Pivot Column using awk

Hello everyone I have a 20M file which is having the below sample layout 1111,ABC,100 1111,DEF,200 1111,XYZ,300 4444,LMN,100 4444,AKH,500 4444,WCD,400 2222,ABC,100 7777,DEF,300 7777,WCD,300 I need to covert this to below format Output Party_ID|ABC|AKH|DEF|LMN|WCD|XYZ... (5 Replies)
Discussion started by: morbid_angel
5 Replies

7. UNIX for Dummies Questions & Answers

Pivot multiple

Dear friend, I want to sum popul based on ville and reg. input date country ville reg popul 20131101 INDIA Gujarat College 322047286 20131101 USA Oregon 2 Kindergaten 477305599 20131101 INDIA Delhi 1 Ecole 255029428 20131101 MEXICO ... (2 Replies)
Discussion started by: radius
2 Replies

8. Shell Programming and Scripting

Pivot script

Hi Please suggest a script that would do a horizontal pivot , on the fields separated by a semicolon Below is my input file 1|c2|aa 1|c3|dd 1|c4|cc 1|c5|aa 1|c6|ss 1|c7|dd 1|c8|bb 1|c9|jjj 1|c10|kkk 1|c11|fffg 1|c12|nnn;indi;pak;linf;wer 1|c13|lllnk;li;sdfsd;oiuo 1|c14|ppp... (5 Replies)
Discussion started by: mabarif16
5 Replies

9. Shell Programming and Scripting

Pivot table

Hello everyone, I would like to use awk to parse a file with three columns in, like: monday 0 1 monday 1 1 monday 2 1 monday 3 1 monday 4 1 monday 5 1 tuesday 0 5 tuesday 1 1 tuesday 2 1 tuesday 3 1 tuesday 4 1 wednesday 0 1 monday 5 25 they represent the day the hour and the... (2 Replies)
Discussion started by: gio001
2 Replies

10. Shell Programming and Scripting

pivot

I have a sql table with : Acitvity Date Value ABC 7/11 10 DEF 7/11 98 ABC 7/12 23 DEF 7/12 100 SER 7/12 67 GRH 7/13 123 HJY 7/14 12 I... (4 Replies)
Discussion started by: mukhanj
4 Replies
Login or Register to Ask a Question