提取两个特定行之间的文本

Ahm*_*ran 5 text-processing

如何在两个特定行之间获取命令输出的一部分?一个虚拟示例:

命令:

git for-each-ref --sort='*authordate' --format='%(tag)' refs/tags | grep -v '^$'
Run Code Online (Sandbox Code Playgroud)

输出:

0.1.0
0.2.0
1.0.0
1.0.1
1.0.2
1.1.0
1.2.0
1.2.1
1.3.0
1.4.0
1.4.1
Run Code Online (Sandbox Code Playgroud)

我想在两个特定行之间获取此输出的一部分(不基于行号,基于内容):

0.1.0
0.2.0
1.0.0
1.0.1
1.0.2
Run Code Online (Sandbox Code Playgroud)

cuo*_*glm 8

您可以通过管道输出到awk

$ ... | awk '/0\.1\.0/,/1\.0\.2/'
0.1.0
0.2.0
1.0.0
1.0.1
1.0.2
Run Code Online (Sandbox Code Playgroud)


Nid*_*dal 6

您可以通过管道将其发送至sed

.... | sed -n "/0.1.0/,/1.0.2/p" YourFile
Run Code Online (Sandbox Code Playgroud)