- 论坛徽章:
- 3
|
- #!/usr/bin/sed -rnf
- /[0-9]/!d
- s/[^0-9]/ /g
- s/$/ 0123456789/
- tloop
- :loop
- s/^( *)([0-9]+)( +)([0-9]+)( .*0123456789)$/\1b\2e\3b\4e\5/
- tmain
- #if only one number stayed,then output
- h
- s/[0-9].*/ /
- s/./1/g
- :cnt
- s/(^|;)1111111111/1;/g
- tcnt
- s/111111111/9/g
- s/11111111/8/g
- s/1111111/7/g
- s/111111/6/g
- s/11111/5/g
- s/1111/4/g
- s/111/3/g
- s/11/2/g
- :zero
- s/;;/;0;/g
- tzero
- s/(^$)|;$/0/
- s/;//g
- G
- tend
- :end
- s/(.*)\n *([0-9]+).*0123456789$/\2 \1/
- tend2
- d
- :end2
- p
- d
- :main
- s/b(0+)/\1b/g
- h
- :a
- s/(bf*)[0-9]/\1f/
- ta
- /(bf*)e.*\1f/ {
- :e
- g
- :b
- s/[0-9]([0-9]*b.*b)/ \1/
- tb
- :B
- s/(b *)[0-9](.*b)/\1 \2/
- tB
- s/[be]//g
- tloop
- }
- s/(bf*e)(.*)(bf*e)/\3\1/
- /(bf*)e.*\1f/ {
- :f
- g
- :c
- s/(e.* )[0-9]([0-9]*b)/\1 \2/
- tc
- :C
- s/(b *)[0-9]([^b]+)$/\1 \2/
- tC
- s/[be]//g
- tloop
- }
- g
- :d
- /b(.).*b\1/! {
- /b(.).*b(.).*\1[0-9]*\2[0-9]*$/be
- bf
- }
- s/b([0-9])(.*)b([0-9])/\1b\2\3b/
- td
- be
复制代码 |
|