[need help] output format from awk


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting [need help] output format from awk
# 1  
Old 02-08-2007
Question [need help] output format from awk

hi all,

i have a problem with my nawk command output below is the description :

nawk $12 == "00008001" { cnt++;cs_cd[$11] } END {for(cd in cs_cd) print cd, cs_cd[cd] } 2007020814.TDR

output :

133
123

desire output:

133,123,....

please advices


thank you so much

Regards,

bucci
# 2  
Old 02-08-2007
Quote:
print cd, cs_cd[cd]

try something like this,

Code:
printf "%d, %d\n", cd, cs_cd[cd]

# 3  
Old 02-08-2007
Quote:
Originally Posted by matrixmadhan
try something like this,

Code:
printf "%d, %d\n", cd, cs_cd[cd]

hi matrix,

not working

output :

123, 0
133, 0

any idea?

thank you
# 4  
Old 02-08-2007
Really I dont know about the input file (the format) that you are using.

If possible could you please post examples from your input file.
# 5  
Old 02-08-2007
Quote:
Originally Posted by matrixmadhan
Really I dont know about the input file (the format) that you are using.

If possible could you please post examples from your input file.
hi matrix,

the input file is:

20070208 163020.951 20070208 163021.163 000.212 6211111111111 00000803 005 02 002 123 00008001 511000000000000 ---
20070208 164008.211 20070208 164008.433 000.222 6211111111111 00000804 004 02 002 123 00008001 511000000000000 ---
20070208 164508.096 20070208 164508.305 000.209 6211111111111 00000805 006 02 002 133 00008001 511000000000000 ---
20070208 165802.461 20070208 165802.653 000.192 6211111111111 00000806 005 02 002 133 00008001 511000000000000 ---

any idea?

thank you
# 6  
Old 02-08-2007
I don't understand what exactly you're trying to accomplish
with your script, but with ORS="," you'll get an extra "," and no new line at the end:

Code:
$ nawk '$12=="00008001"{!cs_cd[$11]++}END{for(cd in cs_cd)print cd}' ORS="," infile
133,123,

BTW if you want to preserve the order (123, 133 ...):

Code:
nawk '$12=="00008001"&&!x[$11]++{print $11}' ORS="," infile


Given your original code (and not the sample output)
it _seems_ you want something like this:

Code:
nawk '$12=="00008001"{cs_cd[$11]++}END{for(cd in cs_cd)print cd,cs_cd[cd] }' ORS="," infile


Last edited by radoulov; 02-08-2007 at 07:52 AM..
# 7  
Old 02-09-2007
its work

thank you

Quote:
Originally Posted by radoulov
I don't understand what exactly you're trying to accomplish
with your script, but with ORS="," you'll get an extra "," and no new line at the end:

Code:
$ nawk '$12=="00008001"{!cs_cd[$11]++}END{for(cd in cs_cd)print cd}' ORS="," infile
133,123,

BTW if you want to preserve the order (123, 133 ...):

Code:
nawk '$12=="00008001"&&!x[$11]++{print $11}' ORS="," infile


Given your original code (and not the sample output)
it _seems_ you want something like this:

Code:
nawk '$12=="00008001"{cs_cd[$11]++}END{for(cd in cs_cd)print cd,cs_cd[cd] }' ORS="," infile

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Need to maintain in- and output format with awk

Hi All, I have a data file (myfile.txt) as below: - A H C - A HHH F - AAA HH I The importan point is that the width between the columns are not fixed and the column seperator is space. I wish to change the value of 4th column using awk only when $3 = HH. I can... (4 Replies)
Discussion started by: angshuman
4 Replies

2. Shell Programming and Scripting

Format output using awk

Hello all , need help with this ... Input File DEV % POOL 0CB4 FBA 2211300 81792 4 IE RAID-5(3+1) R5_EFD100_1 - - 1805376 82 IF RAID-1 M2_FC300_1 - ... (4 Replies)
Discussion started by: greycells
4 Replies

3. Shell Programming and Scripting

Format output in AWK command

hi Friends , I have a file as below s.txt 1~2~~4 2~6~~7 3~8~~9 t.txt 1~2~~4 2~5~8~7 3~8~~7 header for both files is common (2 Replies)
Discussion started by: i150371485
2 Replies

4. Shell Programming and Scripting

Using AWK to format output and email

Hello, I'm a bit stumped, for some reason when using AWK 'print' is not printing the entire date/line. awk '{print "Ticket #: " $1} {print "Queue : " $2} {print "Recieved : " $3} {print "AP Date : " $4} {print "Circuit ID : " $5} {print... (4 Replies)
Discussion started by: ArvinSodhi
4 Replies

5. UNIX for Dummies Questions & Answers

after awk-> format output

hi i have a awk command with several querys.... awk 'FS="|""; print $4, $5, $6...etc.... $4 gives me the date 20120304 $5 is timestamp 101023 I want to format these in 2012.03.04 or 2012/03/04 10:10:23 but have no idea, if this is possible with format-parameters in the awk... (2 Replies)
Discussion started by: Jazzmatazz
2 Replies

6. Shell Programming and Scripting

awk to format an output

awk experts, I have in put file with time stamp followed by "," separated data. same patern continues. The output need time stamp in first columns and data total in 2nd columns. Input file T 9:15 d0,1,3,3 d1,2,1,1 d2,3,1,5 e1,1,1,1 T 9:30 d0,1,1,1 d1,2,3,2 d3,1,2,1... (10 Replies)
Discussion started by: arv_cds
10 Replies

7. Shell Programming and Scripting

awk - format output

Input file1 zone: BAU_SERVER1 C0:50:76:01:C6:20:00:12; 50:06:01:69:3B:20:14:8B; 50:06:01:60:3B:20:14:8B zone: BAU_SERVER2 C0:50:76:01:C6:20:00:08; 50:06:01:69:3B:20:14:8B; 50:06:01:60:3B:20:14:8B zone: ... (4 Replies)
Discussion started by: greycells
4 Replies

8. Shell Programming and Scripting

scripting/awk help : awk sum output is not comming in regular format. Pls advise.

Hi Experts, I am adding a column of numbers with awk , however not getting correct output: # awk '{sum+=$1} END {print sum}' datafile 2.15291e+06 How can I getthe output like : 2152910 Thank you.. # awk '{sum+=$1} END {print sum}' datafile 2.15079e+06 (3 Replies)
Discussion started by: rveri
3 Replies

9. Shell Programming and Scripting

Awk output format help!!! Urgent!!!!

Hello!! I am capturing and counting certain uniq occurance of certain evet from large log files. below is my output I m getting with my script: No of Messages Date Hour 150 Aug15 1 234 Aug15 2 345 Aug15 3 . ... (4 Replies)
Discussion started by: namodi
4 Replies

10. Shell Programming and Scripting

Output in a particular format using AWK

Hi All, I am trying to check if if column 5 is greater than 90. If greater it will print the term in column 6, else if all are within limit, then it will output "Size is within limit". I can't seem to do that with the below code. The output should only be 1 statement of "Size is within the... (4 Replies)
Discussion started by: Raynon
4 Replies
Login or Register to Ask a Question