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

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

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

命令:

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

输出:

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

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

0.1.0
0.2.0
1.0.0
1.0.1
1.0.2

答案1

您可以通过管道输出到awk

$ ... | awk '/0\.1\.0/,/1\.0\.2/'
0.1.0
0.2.0
1.0.0
1.0.1
1.0.2

答案2

你可以将它通过管道传输到sed

.... | sed -n "/0.1.0/,/1.0.2/p" YourFile

相关内容