aboutsummaryrefslogtreecommitdiff
path: root/potpourri/ripe-prefixes-to-csv.awk
blob: 373274841d0fd4dfdce70331f776324f73ba62c4 (plain) (blame)
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
#!/usr/bin/awk -f
# $Id$

# ftp -pa ftp://ftp.ripe.net/pub/stats/ripencc/membership/alloclist.txt

function done() {
    for (i = 1; i <= n_allocs; i++)
	print handle "\t" alloc[i];
    n_allocs = 0;
}

/^[a-z]/ {
    done();
    handle = $0;
    nr = NR;
}

NR == nr + 1 {
    name = $0;
}

NR > nr + 2 && NF > 1 && $2 !~ /:/ {
    split($2, a, "/");
    len = a[2];
    split(a[1], a, /[.]/);
    for (i = length(a); i < 4; i++)
	a[i+1]  = 0;
    alloc[++n_allocs] = sprintf("%d.%d.%d.%d/%d", a[1], a[2], a[3], a[4], len);
}

NR > nr + 2 && NF > 1 && $2 ~ /:/ {
    alloc[++n_allocs] = $2;
}

END {
    done();
}