File: geo_split.sh

package info (click to toggle)
kamailio 6.0.5-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 70,472 kB
  • sloc: ansic: 859,394; xml: 203,514; makefile: 9,688; sh: 9,105; sql: 8,571; yacc: 4,121; python: 3,086; perl: 2,955; java: 449; cpp: 289; javascript: 270; php: 258; ruby: 248; awk: 27
file content (53 lines) | stat: -rwxr-xr-x 1,095 bytes parent folder | download | duplicates (10)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#!/bin/sh 
#
# $Id$
#
# utility for displaying geographical break-down of usrloc population
# it takes functional netgeo support for ser (currently, an
# experimental unavailable feature)
# 


DB_HOST=dbhost
DB_USER=ser
DB_PW=heslo

# ---

TMP=/tmp/geo_split.$$

stats()
{
	DOMAIN_CNT=`grep $1 $TMP | wc | awk ' { print $1  } '`
	if [ "$DOMAIN_CNT" -eq "0" ] ; then
		PC="0"
	else
		PC=`expr $DOMAIN_CNT \* 100 / $2`
	fi
	printf "$1: $DOMAIN_CNT $PC %%\n"
	grep -v $1 $TMP > $TMP.2
	mv $TMP.2 $TMP
}

mysql -h $DB_HOST --batch -u $DB_USER -p$DB_PW ser -e "select location from netgeo_cache" |
awk -F '/' '
	BEGIN { line=0 }
	{ line++ }
	line==1 { next; } # skip heading
	length()==0 { next; } # skip empty lines
	/^[A-Z][A-Z ]*\/[A-Z ]+/ { print $2; next;} 
	/^[A-Z]+/ { print " " $1; next;} 
	/^ [A-Z]+/ { print $1; next;} 
	{ print "error" > "/dev/stderr" }' |
sort -b > $TMP

export TOTAL_CNT=`wc $TMP|awk '{print $1}'`

printf "Total: $TOTAL_CNT\n"
(for i in AU DE US NL CZ UK RO RU TR TW SW JP CA HK IT AR BE CN FI GL IN KR SE UY; do 
	stats $i $TOTAL_CNT
done) 
#| sort
cat $TMP

rm $TMP*