GNU/Linux >> Linux Esercitazione >  >> Linux

Estrarre il testo tra due righe specifiche?

Come posso ottenere la parte dell'output di un comando tra due righe specifiche? Un esempio fittizio:

Comando:

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

Uscita:

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

Voglio ottenere la parte di questo output, tra due righe specifiche (non in base al numero di riga, in base al contenuto):

0.1.0
0.2.0
1.0.0
1.0.1
1.0.2

Risposta accettata:

Puoi reindirizzare l'output a awk :

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

Linux
  1. Come estrarre i file Tar in una directory specifica o diversa in Linux

  2. Spiegazione delle differenze tra editor di testo Vi e Vim

  3. Come unire due file di testo in Linux

  4. Come estrarre i registri tra due timestamp?

  5. Output delle linee comuni (somiglianze) di due file di testo (l'opposto di Diff)?

Stampa linee tra (ed escludendo) due motivi?

Stampa linee tra (e inclusi) due motivi?

Linee comuni tra due file?

Come posso ottenere parole tra le prime due istanze di testo/modello?

Come estrarre il testo da un file di grandi dimensioni, a partire dalla prima occorrenza di una stringa?

Differenza negli spazi bianchi tra due file su Linux