BEGIN { FS = "\t| +"; print "#include\t"; print "#include\t"; print ""; print "static const struct"; print "{"; print "\tu_int32_t\tev_addr;" print "\tchar\t*ev_name," print "\t\t*ev_note;" print "} eth_vend[] =" print "{" } #{print $1 "|" $2 "|" $3;} $1 ~ /^[[:xdigit:]]+$/ { gsub(/"/, "\\\"", $2); print "\t{0x" $1 ",\t\"" $2 "\","; if ($3 == "") { print "NULL},"; } else { gsub(/"/, "\\\"", $3); print "\"" $3 "\"},"; } } END { print "\t{0, NULL, NULL}"; print "};"; }