Extrai texto entre duas linhas específicas

5

Como posso obter a parte da saída de um comando entre duas linhas específicas? Um exemplo fictício:

Comando:

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

Saída:

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

Eu quero pegar a parte dessa saída, entre duas linhas específicas (não baseadas no número da linha, com base no conteúdo):

0.1.0
0.2.0
1.0.0
1.0.1
1.0.2
    
por Ahmet Sezgin Duran 22.08.2014 / 14:21

2 respostas

8

Você pode canalizar a saída para awk :

$ ... | awk '/0\.1\.0/,/1\.0\.2/'
0.1.0
0.2.0
1.0.0
1.0.1
1.0.2
    
por 22.08.2014 / 14:23
6

você pode canalizá-lo para sed :

.... | sed -n "/0.1.0/,/1.0.2/p" YourFile
    
por 22.08.2014 / 14:23