27 lines
435 B
Sed
27 lines
435 B
Sed
/^$/ b
|
|
:start
|
|
/^[0-9]/ b
|
|
s/^/1/
|
|
:loop
|
|
h
|
|
/^9+([^0-9])\1+/ {
|
|
s/^(9+).*/0\1/
|
|
y/09/10/
|
|
G
|
|
s/^(.+)\n[0-9]+.(.*)/\1\2/
|
|
b loop }
|
|
/^[0-9]*[0-8]([^0-9])\1+/ {
|
|
s/^[0-9]*([0-8]).*/\1/
|
|
y/012345678/123456789/
|
|
G
|
|
s/^(.)\n([0-9]*)[0-8].(.*)/\2\1\3/
|
|
b loop }
|
|
/^[0-9]+9+([^0-9])\1+/ {
|
|
s/^[0-9]*([0-8]9+).*/\1/
|
|
y/0123456789/1234567890/
|
|
G
|
|
s/^(.+)\n([0-9]*)[0-8]9+.(.*)/\2\1\3/
|
|
b loop }
|
|
s/^([0-9]+.)(.*)/\2\1/
|
|
b start
|