awk name pair values


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting awk name pair values
# 1  
Old 11-12-2018
awk name pair values

Team,

I have a file like below

FILE:

Code:
NAM1,KEY1,VAL1
NAM1,KEY2,VAL2
NAM1,KEY3,VAL3
NAM2,KEY1,VALA
NAM2,KEY2,VALB
NAM2,KEY3,VALC

Output:

I have to build commands like below

Code:
<Script> VAL1 VAL2 VAL3 NAME1
<Script> VALA VALB VALC NAME2

Can you please help with awk command i can use inside a script to build and run the commands?

Last edited by vgersh99; 11-12-2018 at 02:50 PM.. Reason: Code tags, please!
# 2  
Old 11-12-2018
Code:
awk -F, '{a[$1]=($1 in a)? a[$1] OFS $3:$3} END {for (i in a) print "script" OFS a[i] OFS i}' myFile

This User Gave Thanks to vgersh99 For This Post:
# 3  
Old 11-12-2018
Thank you so much.. Worked like a charm. however still cannot understand logic. If you get a chance can you please help explain
# 4  
Old 11-12-2018
Code:
awk -F, '                            # use , as input field separator
{ # use array a index by $1 and value of indexed entry is built by
  # concatenating $3 to it separated by the value of OFS (space by default)
  #a[$1]=($1 in a)? a[$1] OFS $3:$3
  # the above can be rewritten as
  if ($1 in a)
     a[$1] = a[$1] OFS $3
  else
     a[$1]=$3
} 
END {
  # iterate through array a indexed by i - outputting a string script followed by
  # OFS (OutFieldSeparator - space by default), followed by value of array entry
  # iterated by i, followed by OFS and followed by the value of current iterator i.
  # iterator is the value of column $1
  for (i in a) 
    print "script" OFS a[i] OFS i
}' myFile

# 5  
Old 11-12-2018
Code:
awk -F, '{a[$1]=a[$1] $3 OFS} END {for (i in a) print "script", a[i] i}' infile

Login or Register to Ask a Question

Previous Thread | Next Thread

6 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How many studies have unequal values for each pair?

I have several Studies (s) which has points (p) having Values (v). My goal is to determine for each pair of points, how many studies have different values ( if available ). Study Point Value 1 p1 value1 1 p2 value2 1 p3 value1 1 p4 value3 1 p5 value3 2 p2 value1 2 p4 value1 3 p1 value1... (5 Replies)
Discussion started by: senhia83
5 Replies

2. Shell Programming and Scripting

awk file to read values from Db2 table replacing hard coded values

Hi, I want to replace a chain of if-else statement in an old AWK file with values from Db2 table or CSV file. The part of code is below... if (start_new_rec=="true"){ exclude_user="false"; user=toupper($6); match(user, "XXXXX."); if (RSTART ==2 ) { ... (9 Replies)
Discussion started by: asandy1234
9 Replies

3. Shell Programming and Scripting

How to find the X highest values in a list depending on the values of another list with bash/awk?

Hi everyone, This is an exemple of inpout.txt file (a "," delimited text file which can be open as csv file): ID, Code, Value, Store SP|01, AABBCDE, 15, 3 SP|01, AABBCDE, 14, 2 SP|01, AABBCDF, 13, 2 SP|01, AABBCDE, 16, 3 SP|02, AABBCED, 15, 2 SP|01, AABBCDF, 12, 3 SP|01, AABBCDD,... (1 Reply)
Discussion started by: jeremy589
1 Replies

4. Shell Programming and Scripting

AWK: read values from file1; search for values in file2

I have read another post about this issue and am wondering how to adapt it to my own, much simpler, issue. I have a file of user IDs like so: 333333 321321 546465 ...etc I need to take each number and use it to print records wherein the 5th field matches the user ID pulled from the... (2 Replies)
Discussion started by: Bubnoff
2 Replies

5. Shell Programming and Scripting

How to pick values from column based on key values by usin AWK

Dear Guyz:) I have 2 different input files like this. I would like to pick the values or letters from the inputfile2 based on inputfile1 keys (A,F,N,X,Z). I have done similar task by using awk but in that case the inputfiles are similar like in inputfile2 (all keys in 1st column and values in... (16 Replies)
Discussion started by: repinementer
16 Replies

6. UNIX for Dummies Questions & Answers

can't pair BT keyboard/mice

hello, i can't pair BT keyboard and mice under OS X leopard 10.5.7 installed on pc hardware using ipc osx86 10.5.6 final dvd. I could not find any answers on the web, nor on the osx86 forums, so i figured out maybe ill try my luck on linux/unix forum, after all from what i know os x is basicly a... (0 Replies)
Discussion started by: baron_harkonnen
0 Replies
Login or Register to Ask a Question