#! /usr/local/bin/gawk -f /insert into/ { sub(/^ *insert into */,"") sub(/ .*/,"") print "insert into", $0, "(" } /=>/ { sub(/^ */,""); sub(/ *[,)] *$/,"") split($0, fv, " *=> *") f[++n] = fv[1]; v[n] = fv[2] } END { for (i=1; i<=n; i++) printf "%s%s\n", f[i], (i == n) ? ")" : "," print "values (" for (i=1; i<=n; i++) printf "%s%s\n", v[i], (i == n) ? ")" : "," }