Description
- A block starts from a line beginning with
<block>,
and ends at a line beginning with </block>.
- In the example, we want to get the second block of the datafile.
|
| Raw Input
|
| Desired Output
| line 1
line 2
<block>
block 1, line 1
block 1, line 2
block 1, line 3
</block>
line 8
line 9
<block>
block 2, line 1
block 2, line 2
</block>
line 14
<block>
block 3, line 1
</block>
line 18
|
| <block>
block 2, line 1
block 2, line 2
</block>
|
|
Script and Comments
Script1 [ 1] /^<block>/,/^<\/block>/!d
[ 2] /^<block>/{
[ 3] x
[ 4] s/^/#/
[ 5] /^#{2}$/{
[ 6] x
[ 7] :loop
[ 8] n
[ 9] /^<\/block>/!b loop
[10] q
[11] }
[12] x
[13] }
[14] d
| |