BEGIN { inpuzzle = 0; counter = 1; prefix = myprefix; postfix = mypostfix } /^[^#]*$/ { if ( inpuzzle == 1 ) { inpuzzle = 0; counter++ } } { if ( inpuzzle == 1 ) { print >> fname } } /^[[:space:]]*#[#[:space:]]*$/ { if ( inpuzzle == 0 ) { fname = sprintf("%s.%d.%s",prefix,counter,postfix); print > fname; inpuzzle = 1; } }