url=http://www.northern-lighthouse.com/tables/bufr_tables.html set -e export http_proxy=http://localhost/ z=/dev/shm/bufrtab test -d $z || mkdir $z cat > $z/htfix.sed <|| s/NLH1small>/small>/g s/NLH3>/SPAN>/g s|||g s/NAV>/SPAN>/g SED wget -q -O$z/base0.html $url sed -f$z/htfix.sed < $z/base0.html > $z/base.html if [ -f bufrtable.bak ]; then rm -f bufrtable.bak fi sqlite3 bufrtable.bak '.read mkdb.sql' for ver in 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 do title=" BUFR Table A - Message Types " rpath=`xmllint --html --xpath "string(//b[contains(text(),'version $ver')]/following::a[text()='$title']/@href)" $z/base.html` url2=`ruby -ruri -e "puts (URI('$url') + '$rpath').to_s"` : $url2 wget -q -O$z/ba.html ${url2} xmllint --html --noout --relaxng ba.rng $z/ba.html xsltproc --html ba2tsv.xsl $z/ba.html > $z/ba.tsv ruby batsv2sql.rb $z/ba.tsv > $z/ba.sql sqlite3 bufrtable.bak ".read $z/ba.sql" title=" BUFR Table B - Element Descriptors " rpath=`xmllint --html --xpath "string(//b[contains(text(),'version $ver')]/following::a[text()='$title']/@href)" $z/base.html` url2=`ruby -ruri -e "puts (URI('$url') + '$rpath').to_s"` wget -q -O$z/bb.html ${url2} xsltproc --html bb2txt.xsl $z/bb.html > $z/bb.txt ruby bbtxt2sql.rb $z/bb.txt > $z/bb.sql sqlite3 bufrtable.bak ".read $z/bb.sql" echo Table B version $ver loaded title=" BUFR Table D - Sequence Descriptors " rpath=`xmllint --html --xpath "string(//b[contains(text(),'version $ver')]/following::a[text()='$title']/@href)" $z/base.html` url2=`ruby -ruri -e "puts (URI('$url') + '$rpath').to_s"` wget -q -O$z/bd.html ${url2} xsltproc --html bb2txt.xsl $z/bd.html > $z/bd.txt ruby bdtxt2sql.rb $z/bd.txt > $z/bd.sql sqlite3 bufrtable.bak ".read $z/bd.sql" echo Table D version $ver loaded title=" BUFR Code & Flag Table " rpath=`xmllint --html --xpath "string(//b[contains(text(),'version $ver')]/following::a[text()='$title']/@href)" $z/base.html` url2=`ruby -ruri -e "puts (URI('$url') + '$rpath').to_s"` wget -q -O$z/bc.html ${url2} ruby bc2txt.rb $z/bc.html > $z/bc.txt : ruby bctxt2sql.rb $z/bc.txt > $z/bc.sql : sqlite3 bufrtable.bak ".read $z/bc.sql" done mv -f bufrtable.bak bufrtable.sq3