1 1.1 christos #!/bin/sh 2 1.1 christos 3 1.1 christos hdr() { 4 1.1 christos echo '#' '$'NetBSD'$' 5 1.1 christos cat << _EOF 6 1.1 christos # 7 1.1 christos # ISO 3166-1 Country Codes 8 1.1 christos # 9 1.1 christos # The format of an entry is: 10 1.1 christos # <Name><TAB><Alpha-2-code><TAB><Alpha-3-code><TAB><Numeric-3-code><TAB><FIPS> 11 1.1 christos # 12 1.1 christos # Further information can be found at the ISO 3166 Maintenance Agency 13 1.2 ginsbach # (ISO 3166/MA) web site, <http://www.iso.org/iso/country_codes>. 14 1.1 christos # 15 1.1 christos # FIPS 10-4 codes compiled from several sources, including 16 1.1 christos # http://www.statoids.com/wab.html 17 1.1 christos # 18 1.1 christos # ISO 3166-1 entities without exactly one corresponding FIPS code have a 19 1.1 christos # blank entry in the column. FIPS 10-4 codes without a corresponding 20 1.1 christos # ISO 3166-1 entity are excluded. 21 1.1 christos # 22 1.1 christos # This list is up-to-date as of $(date +%Y-%m-%d) 23 1.1 christos # 24 1.1 christos _EOF 25 1.1 christos } 26 1.1 christos 27 1.2 ginsbach I1=wab.html 28 1.2 ginsbach U1=http://www.statoids.com/$I1 29 1.1 christos O1=/tmp/wab.$$ 30 1.2 ginsbach I2=country_names_and_code_elements_txt 31 1.2 ginsbach U2=http://www.iso.org/iso/$I2 32 1.1 christos O2=/tmp/list.$$ 33 1.2 ginsbach trap "rm -f $I1 $I2 $O1 $O2" 0 1 2 3 15 34 1.2 ginsbach ftp $U1 35 1.2 ginsbach ftp $U2 36 1.1 christos 37 1.2 ginsbach grep '<tr class="[oe]">' $I1 | 38 1.1 christos sed -e 's,<tr class="."><td>,,g' \ 39 1.1 christos -e 's,\ ,,g' \ 40 1.1 christos -e 's,<code>,,g' \ 41 1.1 christos -e 's,</code>,,g' \ 42 1.1 christos -e 's,<br>, ,g' \ 43 1.1 christos -e 's,</td><td>, ,g' \ 44 1.1 christos -e 's,,Aa,g' \ 45 1.1 christos -e 's,,o,g' \ 46 1.1 christos -e 's,</td></tr>,,g' | 47 1.1 christos awk -F'\t' '{ printf("%s\t%s\t%s\t%s\t%s\n", $2, $3, $4, $6, $1); }' | 48 1.1 christos grep -v href= | 49 1.1 christos sort > $O1 50 1.1 christos 51 1.2 ginsbach grep ';[A-Z][A-Z]' $I2 | 52 1.1 christos tr -d '\015' | 53 1.1 christos awk -F ';' '{ print $2 }' | 54 1.1 christos sort > $O2 55 1.1 christos 56 1.1 christos hdr 57 1.1 christos join -t ' ' -o 1.5,1.1,1.2,1.3,1.4 -1 1 -2 1 $O1 $O2 | sort 58