#! /bin/sh OUTFILE="nn_table_new.csv" SDPLISTFILE="zdplist.txt" rm -f "$OUTFILE" rm -f "$SDPLISTFILE" awk -v "OUTFILE=$OUTFILE" -v "SDPLISTFILE=$SDPLISTFILE" ' function trim(s) { sub(/^[ \t]*/,"",s) sub(/[ \t]*$/,"",s) gsub(/\"/,"",s) return s } function outnn_table(zone,prefix) { # create nn_table.csv format outstr = sprintf("x%s,%s", prefix, zone) print "outstr=[" outstr "]" print outstr >> OUTFILE #print outstr | "sort >" OUTFILE } { print "READ ROW: NR=" NR " [" $0 "]" if (NR >= 1 && NR <=4) { # skip header recs print " Skippig Header rec" next } f1 = $0 getline print "GET ROW: NR=" NR " [" $0 "]" f2 = $0 npref = split(f2,pref_arr,",") sitedialprefixes = "" for ( i=1; i <= npref; ++i ) { pref = trim(pref_arr[i]) gsub(/[^0-9]/,":",pref) nprefrng = split(pref,prefrng_arr,":") if ( nprefrng > 1 ) { prepref = prefrng_arr[1] low = prefrng_arr[2] high = prefrng_arr[3] for ( j = low; j <= high; ++j ) { prefix = sprintf("%s%s", prepref , j) print f1 "|" prefix "|" outnn_table(f1,prefix) if ( sitedialprefixes == "" ) { sitedialprefixes = prefix } else { sitedialprefixes = sitedialprefixes "|" prefix } print "0: f1=" f1 " sitedialprefixes=[" sitedialprefixes "]" } } else { prefix = pref print f1 "|" prefix "|" outnn_table(f1,prefix) if ( sitedialprefixes == "" ) { sitedialprefixes = prefix } else { sitedialprefixes = sitedialprefixes "|" prefix } print "1: f1=" f1 " sitedialprefixes=[" sitedialprefixes "]" } } zdptag = f1 gsub(/[^(a-z|A-Z)]/,"",zdptag) gsub(/\(/,"",zdptag) gsub(/\)/,"",zdptag) zdpENVVAR = "zdps_" zdptag #printf("%s=\"^(%s)\"\n", zdpENVVAR, sitedialprefixes) >> SDPLISTFILE printf("%s=\"%s\"\n", zdpENVVAR, sitedialprefixes) >> SDPLISTFILE } ' telstra_charging_zone_telephone_numbers.log