- 论坛徽章:
- 23
|
- $ cat urfile
- A B C D E
- C D A B
- E D E A A
- Y A S D Z A C A
- $ sed -nf test.sed urfile
- A(1) B C D E
- C D A(2) B
- E D E A(3) A(4)
- Y A(5) S D Z A(6) C A(7)
- $ cat test.sed
- #! /bin/sed -f
- :a
- /\<A\>/{
- x
- /^$/s/^/1/
- G
- s/\<A\>/&\n/
- s/^\([0-9][0-9]*\)\n\(.*\)\(A\n\)/\1\n\2A\1/
- h
- s/\n.*/-1/
- s/$/-;9aaaaaaaaa98aaaaaaaa87aaaaaaa76aaaaaa65aaaaa54aaaa43aaa32aa21a100/
- : add
- /^--[^a]/!{
- s/^\([0-9a]*\)\([0-9]\)-\([^-]*\)-\(.*;.*\2\(a*\)\2.*\)/\1-\3-\5\4/
- s/^\([^-]*\)-\([0-9a]*\)\([0-9]\)-\(.*;.*\3\(a*\)\3.*\)/\1-\2-\5\4/
- s/-\(aaaaaaaaa\(a\)\)\{0,1\}\(a*\)\([0-9]*;.*\([0-9]\)\3\5\)/-\2\5\4/
- b add
- }
- s/^--\([^;]*\);.*/\1/
- x
- ba
- }
- s/.*\n//
- s/\(A\)\([0-9]*\)/\1(\2)/g
- p
复制代码 |
|