- 论坛徽章:
- 0
|
根据8楼的脚本,改了个通用的,适用多对及不完整对.一行中只认第一次出现的关键字.
bash-3.2$ echo "1jkjkjkj
> music 2
> jkjkjkjk 3
> realist 4
> 5444444444lklkl
> realist 6
> 766666666666666
> music 8
> 977777777777777777
> music 10
> realist11
> 12888888888
> 13music
> 14aaaaaaaaaaaa
> "|sed -nr ':s /music/{h;n;ba;};/realist/{h;n;bb;};p;d;Q;
> :a /realist/{p;g;s/([^\n]*)\n(.*)/\2\n\1/;p;n;bs;};H;$be;n;ba;
> :b /music/{p;g;s/([^\n]*)\n(.*)/\2\n\1/;p;n;bs;};H;$be;n;bb;
> :e x;p;'
1jkjkjkj
realist 4
jkjkjkjk 3
music 2
5444444444lklkl
music 8
766666666666666
realist 6
977777777777777777
realist11
music 10
12888888888
13music
14aaaaaaaaaaaa |
|