Sponsored Content
Full Discussion: Doubt in awk
Top Forums Shell Programming and Scripting Doubt in awk Post 302906070 by stew on Tuesday 17th of June 2014 03:17:23 AM
Old 06-17-2014
Doubt in awk

Hi,

I got a below requirement from this forum, but the solution provided was not clear.

Below is the requirement

Code:
 
Input file
 
A 1 Z
A 1 ZZ
B 2 Y
B 2 AA
 
 
Required output
 
B Y|AA
A Z|ZZ

Solution provided wa
Code:
/usr/xpg4/bin/awk '{a[$1]=a[$1]?a[$1]"|"$3:$3}END{for (i in a){print i,a[i] }}' inputfile

The portion is in red was not understandable.

What I assumption is
Code:
{a[$1]=a[$1]?a[$1]"|"$3:$3}

if a[$1] the first row fields are same for next row then including pipeline and printing field $3 , but I am sure of : (colon)

I tried below to understand the code

Code:
/usr/xpg4/bin/awk -F" " '{a[$1]=a[$1]?a[$1]:$3}END{for (i in a){print i,a[i] }}' inputfile

but getting syntax error.
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

awk doubt

I'm having a file with 5 fields. I want to sort that file according to one field no 3. How shall I do using awk programming. Any input appreciatable. regards, vadivel. (7 Replies)
Discussion started by: vadivel
7 Replies

2. Shell Programming and Scripting

doubt in AWK

Hi all, column1 -------- 33 44 55 66 please provide the script using awk command to dispaly output 55. Help apperciated.. thanks, Nirmal (4 Replies)
Discussion started by: abnirmal
4 Replies

3. Shell Programming and Scripting

awk doubt

hi how to get the values in two columns (may be 2nd and 5th column) of a file line by line. either i want to get the two fields into different variables and use a for loop to get these values line by line. (3 Replies)
Discussion started by: Pradee
3 Replies

4. UNIX for Dummies Questions & Answers

doubt about awk

i have a file like this: awk.lst smith : sales : 1200 : 2 jones:it:25000 : 2 roger : it : 1500 : 2 ravi | acct | 15000 i have 3 doubts 1) when i say awk -F ":" '$2 ~ /'it'/ {print $0}' awk.lst i am not able to get jones in the ouput , is it because of space issue? 2)how to... (2 Replies)
Discussion started by: soujanya_srk
2 Replies

5. Shell Programming and Scripting

AWK doubt

Hello people I have a doubt about awk... I´m using it to create a condition where I do not want to use the 0 (zero) value of a certain column. - This is the original file: string,number,date abc,0,20050101 def,1,20060101 ghi,2,20040101 jkl,12,20090101 mno,123,20020101... (2 Replies)
Discussion started by: Rafael.Buria
2 Replies

6. Shell Programming and Scripting

doubt in awk

Hi , I have a file in the below format: 1.txt awk 'BEGIN { printf ("%1s", "man" )} ' awk 'BEGIN { printf ("%9s", "women" )} ' awk 'BEGIN { printf ("%56s", "human")} ' ## ### ## echo "$!" ## awk 'BEGIN { printf ("%1s", "aaa" )} ' awk 'BEGIN { printf ("%19s", "bbb" )} ' ... (4 Replies)
Discussion started by: jisha
4 Replies

7. Shell Programming and Scripting

doubt on awk

I have executed the below command: find . -name "Ks*" -type f -exec ls -ltr {} \; | awk '{printf("%ld %s %d %s \n",$5,$6,$7,$8,$9)}' and here is the output: 1282 Oct 7 2004 51590 Jul 10 2006 921 Oct 7 2004 1389 Jun 4 2003 1037 May 19 2004 334 Mar 24 2004 672 Jul 8 2003 977... (6 Replies)
Discussion started by: venkatesht
6 Replies

8. Shell Programming and Scripting

Awk doubt

I have a file sample.txt with the following contents: the following gives output as awk 'NF{s=$0; print s}' sample.txt but, awk 'NF{s=$0}{print s}' sample.txtgives output as why this difference, can someone explain me? (6 Replies)
Discussion started by: royalibrahim
6 Replies

9. UNIX for Dummies Questions & Answers

a doubt in awk

instead of writing print command in awk, i saw in some posts that we can simply write a number before we end the awk command and it will print the file. As given below: $awk '{some manipulation; print}' filename $awk '{some manipulation}1' filename I also tried replacing the... (2 Replies)
Discussion started by: PranavEcstasy
2 Replies

10. Shell Programming and Scripting

Doubt on using AWK

DE_CODE|1{AXXANY}1APP_NAME|2{TELCO}2LOC|NY DE_CODE|1{AXXATX}1APP_NAME|2{TELCO}2LOC|TX DE_CODE|1{AXXABT}1APP_NAME|2{TELCO}2LOC|BT DE_CODE|1{AXXANJ}1APP_NAME|2{TELCO}2LOC|NJ i have out put file like below i have to convert it in the format as below. DE_CODE = AXXANY APP_NAME= TELCO LOC = NY... (4 Replies)
Discussion started by: mail2sant
4 Replies
All times are GMT -4. The time now is 05:35 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy