Count total unique destination for source


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Count total unique destination for source
# 1  
Old 07-09-2008
Count total unique destination for source

Hi, need help how to count unique destination for the source ip. The file is contains 4 number of fields. Example of the file is here
HTML Code:
src ip           dest ip     #of flows   total bytes
192.168.6.0  88.0.33.2      12           128
192.168.6.0  88.0.33.2      1             168
192.168.6.0  111.22.35.0   2             364
192.168.5.0  88.0.33.2      1             125
.....
I want to count the unique destination, total flows and total bytes per sorce ip. The output that I want it to be is this
HTML Code:
192.168.6.0   2    15   660
192.168.5.0   1    1    125
.....
Is anyone can help me?
# 2  
Old 07-09-2008
Your output seems worng, given your sample input.
Anyway, I suppose you need something like this:
(use nawk or /usr/xpg4/bin/awk on Solaris)

Code:
awk 'END {
  for (k in c) {
    split(k, t, SUBSEP)
    print t[1], c[k], f[k], b[k]
  }
}  
NR > 1 { 
  c[$1,$2] ++ 
  f[$1,$2] += $3 
  b[$1,$2] += $4 
  }' file

# 3  
Old 07-09-2008
I am not sure what is wrong with my output. It is the output that I want.

Quote:

src ip dest ip #of flows total bytes
192.168.6.0 88.0.33.2 12 128
192.168.6.0 88.0.33.2 1 168
192.168.6.0 111.22.35.0 2 364
192.168.5.0 88.0.33.2 1 125
.....I want to count the unique destination, total flows and total bytes per sorce ip. The output that I want it to be is this

192.168.6.0 2 15 660
192.168.5.0 1 1 125
.....
From here, source 192.168.6.0 has 2 unique destination (88.0.33.22 and 111.22.35.0). and total of the flows is 12 (12+1+2) and total bytes 660 (128+168+364). So. from your code, I am trying to fit with my code. I am using awk -f count.awk. This are the lines in the count.awk file.
Code:
            {src[$1,$2]++
	total[$1,$2]=total[$1,$2]+$3 
	bytes[$1,$2]=bytes[$1,$2]+$4 
	}
 	END{
	for (i in src) print src " " src[i] "\t" total[i] "\t"  bytes[i] 
	}

However, I got an error said that the src array is an illegal reference. Please help me. Need to solve this problem
# 4  
Old 07-10-2008
Yep,
your requirement is more than clear,
sorry for the noise.
Use this code:

Code:
awk 'END {
  for (k in u) {
    printf "%s\t%s\t%s\t%s\n", 
	  k, u[k], f[k], b[k]
  }
}  
NR > 1 { 
  _[$1,$2]++ ? u[$1] : ++u[$1] 
  f[$1] += $3 
  b[$1] += $4 
  }' file

# 5  
Old 07-10-2008
MySQL

Many thanks for your help. I am now manage to produce the output I want. However, when I manually check, there is line of output is miscalculate. When I try remove the NR>1 then it works perfectly.

Many thanks for help. Smilie Smilie
# 6  
Old 07-10-2008
NR > 1 excludes the first line:

Code:
src ip           dest ip     #of flows   total bytes

Perhaps you've already removed it?
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Open ports from source to destination

Is there a way to find out all the ports open between source IP & destination IP in any way ? (12 Replies)
Discussion started by: UnknownGuy
12 Replies

2. Shell Programming and Scripting

Count the number of files copied from source to destination location

Hi Guys, how to count number of files successfully copied while coping files from source to destination path ex:10 files from source to target location copying if 8 files copied successfully then echo successfully copied=8 failure=2 files if two files get error to coping files from... (23 Replies)
Discussion started by: sravanreddy
23 Replies

3. Shell Programming and Scripting

Error files count while coping files from source to destination locaton as well count success full

hi All, Any one answer my requirement. I have source location src_dir="/home/oracle/arun/IRMS-CM" My Target location dest_dir="/home/oracle/arun/LiveLink/IRMS-CM/$dc/$pc/$ct" my source text files check with below example.text file content $fn "\t" $dc "\t" $pc "\t" ... (3 Replies)
Discussion started by: sravanreddy
3 Replies

4. UNIX for Advanced & Expert Users

Rsync error while running from destination to source

hi All, i have 2 server setup now for Rsync, i configured Rsync on both of the server and it worked well when i did run from source to destination. and while running back from destination to source it produced this error: bash-3.2$ ksh rsync_bravo_db.ksh usa0300uz1247.apps.mc.xerox.com... (0 Replies)
Discussion started by: lovelysethii
0 Replies

5. Solaris

Ftp: SSL_connect error while connecting from source to destination server Solaris 10

Hi Everyone, I am using solaris 10.I am facing a different problem here with tlsftp.I have intalled all steps for tlsftp and able to connect to the destination server from the source server.It worked for some days.But recently when i am connectin it is giving below error.I am... (0 Replies)
Discussion started by: muraliinfy04
0 Replies

6. Linux

rpmbuild, how to specify a different source and destination path for files

I'd like to specify a different build and deployment path for files, by default the same path is used for both build and install, I wasn't able to find a way to make these different. With Solaris pkgadd, one can specify different paths in prototype, so I would assume something like that is possible... (0 Replies)
Discussion started by: tiburblium
0 Replies

7. Shell Programming and Scripting

Move all files from source to destination directory based on the filename

Move all files starting with a specific name to different directory. This shell script program should have three parameters File Name Source Directory Destination Directory User should be able to enter ‘AB_CD*' in file name parameter. In this case all the files starting with AB_CD will... (1 Reply)
Discussion started by: chetancrsp18
1 Replies

8. IP Networking

Selecting interface based on source and destination ip address

Hi all, I have some doubts in selecting the interface to transfer packets and receive the packets. --> Multiple interfaces : -------------------- 1) 0.0.0.0 --------> wild card address. 2) x.x.x.x --------> valid address.(192.168.1.156) 3) ff.ff.ff.ff -------->... (0 Replies)
Discussion started by: vijaypdp2006
0 Replies

9. UNIX for Advanced & Expert Users

Byte Rate to/from a source/destination

is there a command in unix/linux that allows you to sample what the historic byte rate is from a local IP to a client IP. (1 Reply)
Discussion started by: cubs0729
1 Replies
Login or Register to Ask a Question