I've been waiting for someone to ask a question like this.
Code:
csplit input.txt '/^FIELD/' '{*}'
csplit is one of the lesser-known
coreutils. It has several options for formatting the output file names and such too.
The only minor drawback in this case is that the empty lines between the fields are not removed, but still show up at the end of the files. But that could be corrected fairly easily if needed with
sed, or perhaps
grep -v.
Edit: You can remove the trailing blank lines with this after you're done:
Code:
for fname in xx* ; do
printf '%s\n' '/^$/d' 'w' | ed -s "$fname"
done