GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Text zwischen zwei bestimmten Zeilen extrahieren?

Wie kann ich den Teil der Ausgabe eines Befehls zwischen zwei bestimmten Zeilen erhalten? Ein Dummy-Beispiel:

Befehl:

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

Ausgabe:

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

Ich möchte den Teil dieser Ausgabe zwischen zwei bestimmten Zeilen erhalten (nicht basierend auf der Zeilennummer, basierend auf dem Inhalt):

0.1.0
0.2.0
1.0.0
1.0.1
1.0.2

Akzeptierte Antwort:

Sie können die Ausgabe an awk weiterleiten :

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

Linux
  1. Unterschiede zwischen Vi- und Vim-Texteditoren erklärt

  2. So verbinden Sie zwei Textdateien unter Linux

  3. Linien zwischen (und ausschließenden) zwei Mustern drucken?

  4. Zeilen zwischen (und einschließlich) zwei Mustern drucken?

  5. Wie erstelle ich eine bidirektionale Pipe zwischen zwei Programmen?

Wert zwischen zwei Suchmustern in derselben Zeile extrahieren?

Wie kann man Zeilen in einer Textdatei extrahieren/ändern, deren Daten in Felder aufgeteilt sind?

Wie kann ich Wörter zwischen den ersten beiden Instanzen von Text/Muster erhalten?

Entfernen Sie effizient die letzten beiden Zeilen einer extrem großen Textdatei

Unterschied in Leerzeichen zwischen zwei Dateien unter Linux

Verwenden von sed zum Ersetzen zwischen einem bestimmten Muster