Issue with AWK


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Issue with AWK
# 1  
Old 04-18-2011
Issue with AWK

I have this input file

Code:
 
0FB7,1083,Synchronized,FriNov121655,2816_7RAID5,05F:1_10F:1,10000000NoneNone,DC_db00p01
0FB7,1150,Split,MonApr180658,2816_7R5GC,N/A,N/A,N/A
06C4,0710,Synchronized,WedMar91105,2816_7RAID5,04E:1_11E:1,10000000NoneNone,DL_nb00p25
06C4,0711,Split,MonApr180658,2816_7R5GC,N/A,N/A,N/A
0E13,055E,Synchronized,ThuApr141515,2816_7RAID5,N/A,N/A,N/A
0E13,15F2,Split,MonApr180658,2816_7R5GC,N/A,N/A,N/A
0E12,055D,Synchronized,ThuApr141515,2816_7RAID5,N/A,N/A,N/A
0E12,15F1,Split,MonApr180658,2816_7R5GC,N/A,N/A,N/A

I want to combine the lines based on 1st common column ,here's awk code i am using
Code:
 
nawk -F"," 'p!=$1{if(NR>1)print s;s=$0;p=$1;next}{s=s","$2","$3","$4","$5","$6","$7","$8 }END{{print s}'

Ouput i am getting
Code:
 
0FB7,1083,Synchronized,FriNov121655,2816_7RAID5,05F:1_10F:1,10000000NoneNone,DC_db00p01,1150,Split,MonApr180658,2816_7R5GC,N/A,N/A,N/A
06C4,0710,Synchronized,WedMar91105,2816_7RAID5,04E:1_11E:1,10000000NoneNone,DL_nb00p25,0711,Split,MonApr180658,2816_7R5GC,N/A,N/A,N/A
0E13,055E,Synchronized,ThuApr141515,2816_7RAID5,N/A,N/A,N/A,15F2,Split,MonApr180658,2816_7R5GC,N/A,N/A,N/A,055D,Synchronized,ThuApr141515,2816_7RAID5,N/A,N/A,N/A,15F1,Split,MonApr180658,2816_7R5GC,N/A,N/A,N/A

If you notice ... the output is wrong in case where column 1 is 0E13 OR 0E12

Output i should get
Code:
 
0FB7,1083,Synchronized,FriNov121655,2816_7RAID5,05F:1_10F:1,10000000NoneNone,DC_db00p01,1150,Split,MonApr180658,2816_7R5GC,N/A,N/A,N/A
06C4,0710,Synchronized,WedMar91105,2816_7RAID5,04E:1_11E:1,10000000NoneNone,DL_nb00p25,0711,Split,MonApr180658,2816_7R5GC,N/A,N/A,N/A
0E13,055E,Synchronized,ThuApr141515,2816_7RAID5,N/A,N/A,N/A,15F2,Split,MonApr180658,2816_7R5GC,N/A,N/A,N/A
0E12,055D,Synchronized,ThuApr141515,2816_7RAID5,N/A,N/A,N/A,15F1,Split,MonApr180658,2816_7R5GC,N/A,N/A,N/A

Not sure ... what i am missing ...
# 2  
Old 04-18-2011
Code:
nawk -F, '!($1 in a){a[$1]=$0;next} {for(i=2;i<=NF;i++)a[$1]= a[$1] FS $i}END{for(i in a) print a[i]}' myFile

This User Gave Thanks to vgersh99 For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Help with awk issue

OK, so I am trying to use awk as a method of accessing a table stored in a file to then provide the capability of a look up table. The table is stored in a file named "/Users/jhaney/Desktop/assetTypeMapping.tsv" and looks like this: aCategory aLetter aNumber AssetCat1 A 123 ... (10 Replies)
Discussion started by: jhaneyzz
10 Replies

2. Shell Programming and Scripting

awk - issue to get the right IP

On AIX 5.3 and AIX 6.1, I have this script for checking printers being pingable or not. for i in `lsallq` do echo "Queue Name: " $i echo "----------------------------------------" for j in `lsallqdev -q $i` do echo " Device Name:" $j hname=`echo... (3 Replies)
Discussion started by: Daniel Gate
3 Replies

3. Shell Programming and Scripting

Variable value substitution issue with awk command issue

Hi All, I am using the below script which has awk command, but it is not returing the expected result. can some pls help me to correct the command. The below script sample.ksh should give the result if the value of last 4 digits in the variable NM matches with the variable value DAT. The... (7 Replies)
Discussion started by: G.K.K
7 Replies

4. Shell Programming and Scripting

awk issue

Hi all, i am trying to use below command to see the output of hardware inventory, but i only see 2 first line no output of the command. awk '/Hardware/ {print $0}' XXX_result.txt Hardware inventory: Hardware inventory: any idea how to see whatever is under hardware inventory. i... (11 Replies)
Discussion started by: Jared
11 Replies

5. Shell Programming and Scripting

issue trying to use awk

Hi Gurus, I am facing a similar issue usiung an awk command. Below is my requirement: ---DATA--- A;F;G A;D;E A;D;E B;Z;P C;Z;Q Expected: A F<TAB>G D<TAB>E D<TAB>E B D<TAB>E (1 Reply)
Discussion started by: rajangupta2387
1 Replies

6. Shell Programming and Scripting

AWK Issue

Hey, this is my code, cat $fulltrpath | while read line do inputfile=$(sed 1q $fulltrpath | awk '{ FS = "\t"; print $2$1}') outputpath=$(sed 1q $fulltrpath | awk '{ FS = "\t"; print $3 }') echo $inputfile echo $outputpath cp $inputfile $outputpath let path++ done if i... (1 Reply)
Discussion started by: inshafccna
1 Replies

7. Shell Programming and Scripting

awk NR issue

Hi guys, i am trying to analyze a text file using awk and am not able to solve this issue. This is the piece of code that I have written BEGIN { ## Time to count MACs -> 5 seconds. TIME_LIMIT = 5; k = 50000; } ## For every line. { time_in_seconds = $1... (2 Replies)
Discussion started by: jamie_123
2 Replies

8. Shell Programming and Scripting

Issue in awk

In the following code, Im trying to imbed many statements in a single awk statement. But it gives an error on that, for i in `less usage_types_dwh.txt` do cd /u01/app/evident/analysis_lab/usg_type grep $i svc_type.txt | head -1 | awk 'BEGIN {FS=","} {print $1 "==" $2 ":" $3 ":" $4;... (2 Replies)
Discussion started by: alishehzadpaul
2 Replies

9. Shell Programming and Scripting

Awk issue

Can someone please explain below code. $LIST|awk ' /^$/ { next } substr($0,1,4)=="Exiting" { mk = 1; next } mk==1 { print $3,$7,$10,$14; exit } Cheers, gehlnar (5 Replies)
Discussion started by: gehlnar
5 Replies

10. Shell Programming and Scripting

Awk issue

Hi, # grep "^Listen" httpd.conf | awk '{print $2}' FrontEnd_1_IP:8081 FrontEnd_2_IP:8081 8081 8082 8083 # I need to get the values one at a time but I just can't manage to do that. Thanks, Bianca (20 Replies)
Discussion started by: potro
20 Replies
Login or Register to Ask a Question