Total Count using AWK


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Total Count using AWK
# 1  
Old 08-16-2011
Question Total Count using AWK

Hi Everybody,

I have the following example file...
Code:
199|TST-GURGAON|GURGAON|1
199|TST-GURGAON|GURGAON|1
199|TST-GURGAON|GURGAON|1
199|TST-GURGAON|GURGAON|1
199|TST-GURGAON|GURGAON|1
199|TST-GURGAON|GURGAON|1
199|TST-GURGAON|GURGAON|1
199|TST-GURGAON|GURGAON|1
199|TST-GURGAON|GURGAON|1
1|TST - MAIN LAB|DELHI|1
1|TST - MAIN LAB|DELHI|1
1|TST - MAIN LAB|DELHI|1
333|TST-PREET VIHAR|DELHI|1
333|TST-PREET VIHAR|DELHI|1
333|TST-PREET VIHAR|DELHI|1
333|TST-PREET VIHAR|DELHI|1
61B|PARNAMI X-RAY & CLINICAL LAB|DELHI|1
650|PUNJABI BAGH|DELHI|1
650|PUNJABI BAGH|DELHI|1
650|PUNJABI BAGH|DELHI|1
871|GREATER NOIDA C.C|GREATER NOIDA|1
871|GREATER NOIDA C.C|GREATER NOIDA|1
871|GREATER NOIDA C.C|GREATER NOIDA|1
871|GREATER NOIDA C.C|GREATER NOIDA|1
871|GREATER NOIDA C.C|GREATER NOIDA|1
871|GREATER NOIDA C.C|GREATER NOIDA|1
871|GREATER NOIDA C.C|GREATER NOIDA|1
871|GREATER NOIDA C.C|GREATER NOIDA|1
897|NETAJI NAGAR C.C|DELHI|1
VK1|NATIONAL DIAGNOSTICS|PATNA|1
VK1|NATIONAL DIAGNOSTICS|PATNA|1
VK1|NATIONAL DIAGNOSTICS|PATNA|1
VK1|NATIONAL DIAGNOSTICS|PATNA|1
VK1|NATIONAL DIAGNOSTICS|PATNA|1
VK1|NATIONAL DIAGNOSTICS|PATNA|1
VK1|NATIONAL DIAGNOSTICS|PATNA|1
VK1|NATIONAL DIAGNOSTICS|PATNA|1

I am looking for a AWK or PERL solution (A single line code is highly prefered) to produce the following...

Code:
199|TST-GURGAON|GURGAON|9
1|TST - MAIN LAB|DELHI|3
333|TST-PREET VIHAR|DELHI|4
61B|PARNAMI X-RAY & CLINICAL LAB|DELHI|1
650|PUNJABI BAGH|DELHI|3
871|GREATER NOIDA C.C|GREATER NOIDA|8
897|NETAJI NAGAR C.C|DELHI|1
VK1|NATIONAL DIAGNOSTICS|PATNA|8

Basically the I am looking to print the total count based on the first field.

Could any body from you may give me a hand please ?

Regards - Sraj142

Last edited by Scott; 08-16-2011 at 05:48 AM.. Reason: Added code tags
# 2  
Old 08-16-2011
Code:
$ nawk -F"\|" ' { arr[$1]++ } END { for( no in arr) { print no , arr[no] } } ' test
199 9
VK1 8
871 8
61B 1
650 3
897 1
333 4
1 3

taken from the old post..
https://www.unix.com/shell-programmin...unt-field.html
search here for more answers
Google Search Results for count file awk | The UNIX and Linux Forums
This User Gave Thanks to itkamaraj For This Post:
# 3  
Old 08-16-2011
Hi itkamaraj,

Big Thanks for your reply. One thing is happening here...

* Field 2 and 3 are not being displayed.

Any hint please ?

Regards.
# 4  
Old 08-16-2011
like this.. ?

its ur responsibility to remove the first pipe symbol and adding the pipe symbol in last before field. modify the code

Code:
 
$ nawk -F"\|" ' { for(i=1;i<NF;i++)str=str"|"$i; arr[str]++; str="" } END { for( no in arr) { print no , arr[no] } } ' test                        
|650|PUNJABI BAGH|DELHI 3
|333|TST-PREET VIHAR|DELHI 4
|199|TST-GURGAON|GURGAON 9
|VK1|NATIONAL DIAGNOSTICS|PATNA 8
|61B|PARNAMI X-RAY & CLINICAL LAB|DELHI 1
|871|GREATER NOIDA C.C|GREATER NOIDA 8
|1|TST - MAIN LAB|DELHI 3
|897|NETAJI NAGAR C.C|DELHI 1

# 5  
Old 08-16-2011
Yea, Sure. Its a good start. Thanks a lot. In any case, is it not possible with the same code you have posted ?
# 6  
Old 08-16-2011
its possible with the above same code.. need some changes... try it out and let us know
This User Gave Thanks to itkamaraj For This Post:
# 7  
Old 08-16-2011
Struggling, but no hope yet "itkamaraj'. Please see if you can give me hand.

---------- Post updated at 01:03 PM ---------- Previous update was at 12:43 PM ----------

Hi itkamaraj,

Big many thanks for giving me a good start. I have got with the following code...
Code:
nawk -F"\|" ' { for(i=1;i<NF;i++)str=str"|"$i; arr[str]++; str="" } END { for( no in arr) { print no,"|", arr[no] } } ' upload.dat | 
  awk 'BEGIN {FS="|"} {sep="|"} {print $2 sep $3 sep $4 sep $5}' | sed '1,$s/ | /|/g'

Regards.

Last edited by Scott; 08-16-2011 at 05:48 AM.. Reason: Use code tags, please...
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Count total duplicates

Hi all, I have found another post threads talking about count duplicate lines, but I am interested in obtain the total number of duplicates. For example: #file.txt a1 a2 a1 a3 a1 a2 a4 a5 #out 3 (lines are duplicates) Thank you! (12 Replies)
Discussion started by: mikloz
12 Replies

2. Shell Programming and Scripting

Total count in each category for given file list

I have list of file names in filename.txt below is file format >>File1 _________________________ 01~12345~Y~YES~aaaaa~can 02~23456~N~NO~bbbbb~can . . . 99~23__________________________ Need to find total count from each file depending on specific string and add them to have total count... (17 Replies)
Discussion started by: santoshdrkr
17 Replies

3. UNIX for Dummies Questions & Answers

Count total image in directory

Dear all, I have a directory consisted of files in .jpg, .jpeg etc..all of them are image 20140411030143_62811159403_92886.jpg 5/11/2014 15:01 197K 20140415024737_62811618747_116460.jpg 4/15/2014 14:47 17K 20140415031003_62811618747_109192.jpg 4/17/2014 15:10 17K... (4 Replies)
Discussion started by: radius
4 Replies

4. UNIX for Dummies Questions & Answers

In ls -l remove total count

Hi All, When i give ls -ltr i get 'total 10' like this along with files long listing. is there any option in ls command to remove this line or do we need use head -1 command only. $ls -ltr total 45 -rw-r--r-- 1 abc g1 0 Jul 17 07:20 0 -rw-r--r-- 1 abc g1 744 May 9 12:10 a -rw-r--r--... (1 Reply)
Discussion started by: HemaV
1 Replies

5. Shell Programming and Scripting

Finding total count of a word.

i want to find the no:of occurrences of a word in a file cat 1.txt unix script unix script unix script unix script unix script unix script unix script unix script unix unix script unix script unix script now i want to find , how many times 'unix' was occurred please help me thanks... (6 Replies)
Discussion started by: mahesh1987
6 Replies

6. Shell Programming and Scripting

Why sum of recs in awk don't match total rec count?

I'm using awk to determine if a field starting in position 604 for length of 10 is not equal to ALL spaces. It's searching several files which are in the current directory. The below awk indicates that there are 84 records on all files where this field IS NOT equal to ALL spaces ( there are 10... (2 Replies)
Discussion started by: mjf
2 Replies

7. Shell Programming and Scripting

total count of a word in the files

Hi Friends, Need help regarding counting the word "friend" in files test1.txt and test2.txt. ( there is no gap/space between word ) cat test1.txt himynameisrajandiamfriendofrajeshfriend wouldyouliketobemyfriend. cat test2.txt himynameisdostandiamfriendofdostfriend... (2 Replies)
Discussion started by: forroughuse
2 Replies

8. Shell Programming and Scripting

Bogus Total count

I have a shell script that I am pulling different zip file packages and totaling how many of each type of package is in the directory. I get a bogus total count of one in the middle of my output file (highlighted in RED) and not sure why, also would like to get a grand total of all files but not... (2 Replies)
Discussion started by: freddie999
2 Replies

9. UNIX for Advanced & Expert Users

total count of inodes in a mount

is there Any command to get total count and number of free inodes on a mount. please help (5 Replies)
Discussion started by: pharos467
5 Replies
Login or Register to Ask a Question