With gawk
(GNU awk) or mawk
:
awk -v RS='FINISHED' -v OFS=';' '$0 { print $1, $3, $2, RS }' file
Sadly, this won't work with FreeBSD/OSX awk
or strictly POSIX-compliant versions, because they don't support multi-character input-record separators (RS
).