1131554Stjr# 2131554Stjr# Extended Regular Expression 3131554Stjr 4131554Stjr# skip comments 5131554Stjr$0 ~ /^#/ { next; } 6131554Stjr 7131554Stjr# skip specifics to regcomp/regexec 8131554Stjr$2 ~ /[msnr$#p^]/ { next; } 9131554Stjr 10131554Stjr# jump empty lines 11131554Stjr$0 ~ /^$/ { next; } 12131554Stjr 13131554Stjr# subreg skip 14131554StjrNF >= 5 { next; } 15131554Stjr 16131554Stjr# debug 17131554Stjr#{ printf ("<%s> <%s> <%s> <%s>\n", $1, $2, $3, $4); } 18131554Stjr 19131554Stjr# errors 20131554StjrNF == 3 { 21131554Stjr# nuke any remaining '@' 22131554Stjr# gsub (/@/, ","); 23131554Stjr# it means empty lines 24131554Stjr gsub (/\"\"/, ""); 25131554Stjr# escapes 26131554Stjr gsub (/\\\'/, "\\\'\'"); 27131554Stjr# error in regex 28131554Stjr if (index ($2, "C") != 0) 29131554Stjr { 30131554Stjr if (index ($2, "b") == 0) 31131554Stjr printf ("2@%s@%s\n", $1, $3); 32131554Stjr } 33131554Stjr# error not matching 34131554Stjr else 35131554Stjr { 36131554Stjr if (index ($2, "b") == 0) 37131554Stjr printf ("1@%s@%s\n", $1, $3); 38131554Stjr } 39131554Stjr next; 40131554Stjr} 41131554Stjr 42131554Stjr# ok 43131554StjrNF == 4 { 44131554Stjr# skip those magic cookies can't rely on echo to gnerate them 45131554Stjr if (match($3, /[NSTZ]/)) 46131554Stjr next; 47131554Stjr 48131554Stjr# nuke any remaining '@' 49131554Stjr# gsub (/@/, ","); 50131554Stjr# it means empty lines 51131554Stjr gsub (/\"\"/, ""); 52131554Stjr# escape escapes 53131554Stjr gsub (/\\\'/, "\\\'\'"); 54131554Stjr 55131554Stjr if (index ($2, "b") == 0) 56131554Stjr { 57131554Stjr printf ("0@%s@%s\n", $1, $3); 58131554Stjr } 59131554Stjr next; 60131554Stjr} 61