#!/bin/sed -f :paren s/(\([^][(){}]*\))/\x01\1\x02/g; t paren s/{\([^][(){}]*\)}/\x03\1\x04/g; t paren s/\[\([^][(){}]*\)\]/\x05\1\x06/g; t paren s/\x01/)/g; s/\x02/(/g; s/\x03/}/g; s/\x04/{/g; s/\x05/]/g; s/\x06/[/g; s/$/\n/ :reverse s/^\(.\)\(.*\n\)\(.*\)$/\2\1\3/ t reverse s/\n//