我有一个输入文件,其中包含一些用开始和结束标记划分的部分,例如:
line A
line B
@@inline-code-start
line X
line Y
line Z
@@inline-code-end
line C
line D
Run Code Online (Sandbox Code Playgroud)
我想对这个文件应用一个转换,使得 X、Y、Z 行通过一些命令(nl例如)过滤,但其余的行不变地通过。请注意,nl(数字线)跨行累积状态,因此它不是应用于每条线 X、Y、Z 的静态转换。(编辑:有人指出nl可以在不需要累积状态的模式下工作,但我只是nl作为一个例子来简化问题。实际上,该命令是一个更复杂的自定义脚本。我真正在寻找的是for 是将标准过滤器应用于输入文件的一部分的问题的通用解决方案)
输出应如下所示:
line A
line B
1 line X
2 line Y
3 line Z
line C
line D
Run Code Online (Sandbox Code Playgroud)
文件中可能有几个这样的部分需要转换。
更新 2我最初没有指定如果有更多部分会发生什么,例如:
line A
line B
@@inline-code-start
line X
line Y
line Z
@@inline-code-end
line C
line D
@@inline-code-start
line L
line M
line N …Run Code Online (Sandbox Code Playgroud)