まだ縮むはず。具体的にはs/^/0/s/x.*//に吸わせられる気がしてる。

#!/bin/sed -f
N
s/\n//
:
s/^x//
s/\(^\|x\)\(o*\)x\+\2o/x\2o/
t
s/x.*//
s/^/0/
:1
s/o/<<123456789o01>/
s/\(.\)<.*\1\(o*.\).*>/\2/
t1