#! /usr/bin/gawk -f # Last edited on 2014-02-26 22:41:16 by stolfilocal BEGIN { split("",d); split("",v); } /EXC/ { n=0; for (i=3; i < NF-1; i += 2) { d[n] = $(i); n++; } if ($(NF-1) != "Currencies") { data_error(("expected 'Currencies' found '" $(NF-1) "'")); } if ($(NF) != "considered") { data_error(("expected 'considered' found '" $(NF) "'")); } } /Huobi/ { m=0; for (i=3; i < NF; i += 2) { v[m] = $(i); m++; }; if (n != m) { data_error(("inconsistent: " n " " m)); } for (k=0; k < n; k++) { printf "| %5s | %7s |\n", d[k], v[k]; } fflush("/dev/stdout"); if ($(NF) != "CNY") { data_error(("expected 'CNY' found '" $(NF) "'")); } } // { next; } function data_error(msg) { printf "%s:%s: ** %s\n", FILENAME, FNR, msg > "/dev/stderr"; printf " %s\n", $0 > "/dev/stderr"; exit(1); }