function trim(a,b) { b=a; while (index(b," ")==1) b=substr(b,2); while (index(substr(b,length(b))," ")==1) b=substr(b,1,length(b)-1); return b; } function nocomment(a,b) { if (index(a,"--")!=0) b=substr(a,1,index(a,"--")-1) else b=a; return b; } function swapdefault(a,b,i,j,k) { i=index(a,"DEFAULT"); j=index(a,"NOT NULL"); k=length(a); if (substr(a,k)==",") k--; b=substr(a,1,j-1) substr(a,i,k-i-1) " NOT NULL" substr(a,k-1) return b; } BEGIN {file="CR_ERR.txt";} /^--/||/^$/ {next;} /^CREATE TABLE/ {file="CR_TABLE.txt";} /^CREATE VIEW/ {file="CR_VIEW.txt";} /^CREATE INDEX/ {file="CR_INDEX.txt";} /^ALTER TABLE/ {file="CR_CONSTR.txt";} {SS=trim(nocomment($0))} (file=="CR_TABLE.txt") && /DEFAULT/ {SS=swapdefault(SS)} length(SS) > 0 {print SS >>file} {next}