emasaka #7222(2008/08/19 13:19 GMT) [ sed ] Rating0/0=0.00
文字列にコントロールコードが入っていないこと前提。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
#!/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//
Rating0/0=0.00-0+
[ reply ]
emasaka #7222() [ sed ] Rating0/0=0.00
文字列にコントロールコードが入っていないこと前提。
#!/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//Rating0/0=0.00-0+
[ reply ]