71 lines
2.1 KiB
Awk
71 lines
2.1 KiB
Awk
|
# $NetBSD: nanpa.awk,v 1.2 2003/03/13 02:55:01 jhawk Exp $
|
||
|
#
|
||
|
# todo:
|
||
|
# parse "http://docs.nanpa.com/cgi-bin/npa_reports/nanpa?
|
||
|
# function=list_npa_introduced" to produce parenthetical
|
||
|
# notes about what area codes are overlayed by others
|
||
|
# (or split from).
|
||
|
#
|
||
|
function parse(file, ispipe, isplanning, i, planinit, t)
|
||
|
{
|
||
|
planinit = 0;
|
||
|
while((ispipe?(file | getline):(getline < file)) > 0) {
|
||
|
sub(/#.*/, "");
|
||
|
if (length($0)==0) continue;
|
||
|
if (isplanning) {
|
||
|
split($0, f);
|
||
|
if (!planinit && f[2]=="NEW NPA") {
|
||
|
planinit=1;
|
||
|
for (i=1; i<=NF; i++)
|
||
|
fnames[$i]=i-1;
|
||
|
} else if (planinit && length(f[fnames["NEW NPA"]])>1) {
|
||
|
t = f[fnames["LOCATION"]] FS;
|
||
|
if (f[fnames["OVERLAY?"]]=="Yes")
|
||
|
t = t "Overlay of " f[fnames["OLD NPA"]];
|
||
|
else if (f[fnames["OLD NPA"]])
|
||
|
t = t "Split of " f[fnames["OLD NPA"]];
|
||
|
if (f[fnames["STATUS"]])
|
||
|
t = t " (" f[fnames["STATUS"]] ")";
|
||
|
if (length(f[fnames["IN SERVICE DATE"]]) > 1)
|
||
|
t = t " effective " \
|
||
|
f[fnames["IN SERVICE DATE"]];
|
||
|
data[f[fnames["NEW NPA"]] "*"] = t;
|
||
|
}
|
||
|
} else {
|
||
|
# digits only
|
||
|
match($0, /^[0-9]/);
|
||
|
if (RSTART==0) continue;
|
||
|
i=index($0, FS);
|
||
|
data[substr($0, 1, i-1)]=substr($0,i+1);
|
||
|
}
|
||
|
}
|
||
|
close(file);
|
||
|
}
|
||
|
|
||
|
BEGIN{
|
||
|
FS=":"
|
||
|
print "# $""NetBSD: $";
|
||
|
print "# Generated from http://www.nanpa.com/area_codes/index.html";
|
||
|
print "# (with local exceptions)";
|
||
|
print "# ";
|
||
|
print "# format:";
|
||
|
print "# Area Code : Description : Detail : State/Province Abbrev.";
|
||
|
print "# (3rd and 4th fields optional)";
|
||
|
print "# A * in the Area Code field indicates a future area code."
|
||
|
print "# ";
|
||
|
parse("ftp -o - " \
|
||
|
"http://docs.nanpa.com/cgi-bin/npa_reports/nanpa\\?" \
|
||
|
"function=list_npa_geo_number | sed -f nanpa.sed", 1, 0);
|
||
|
parse("ftp -o - " \
|
||
|
"http://docs.nanpa.com/cgi-bin/npa_reports/nanpa\\?" \
|
||
|
"function=list_npa_non_geo | sed -f nanpa.sed", 1, 0);
|
||
|
parse("ftp -o - " \
|
||
|
"http://docs.nanpa.com/cgi-bin/npa_reports/nanpa\\?" \
|
||
|
"function=list_npa_not_in_service | sed -f nanpa.sed", 1, 1);
|
||
|
parse("na.phone.add", 0, 0);
|
||
|
sort="sort -n";
|
||
|
for (i in data)
|
||
|
print i FS data[i] | sort
|
||
|
close(sort);
|
||
|
}
|