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

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

Ich werde das Formular mit cURL senden, wobei einige der Inhalte aus einer anderen Datei stammen, die mit sed ausgewählt wurde

Wenn param1 ist ein Zeilenvergleichsmuster aus einer anderen Datei mit sed , der folgende Befehl funktioniert einwandfrei:

curl -d param1="$(sed -n '/matchpattern/p' file.txt)" -d param2=value2 http://example.com/submit

Gehen Sie nun zum Problem. Ich möchte nur Text zwischen 2 übereinstimmenden Mustern anzeigen, ohne das übereinstimmende Muster selbst.

Sagen wir file.txt enthält:

Bla bla bla
firstmatch
It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout.
secondmatch
The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using 'Content here, content here', making it look like readable English.

Derzeit viele „zwischen 2 passende Muster“ sed Befehl wird firstmatch nicht entfernen und secondmatch .

Ich möchte, dass das Ergebnis wird:

It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout.

Akzeptierte Antwort:

Hier ist eine Möglichkeit, dies zu tun:

sed '1,/firstmatch/d;/secondmatch/,$d' 

Erklärt:Von der ersten Zeile bis zur Zeile, die firstmatch entspricht , löschen. Aus der Zeile, die secondmatch entspricht bis zur letzten Zeile löschen.


Linux
  1. Wie wähle ich das erste Auftreten zwischen zwei Mustern aus, die sie enthalten?

  2. Gemeinsame Linien zwischen zwei Dateien?

  3. Text zwischen zwei bestimmten Zeilen extrahieren?

  4. Wie kann ich grep die Zeilen unter und über jeder übereinstimmenden Zeile drucken lassen?

  5. Was ist der Unterschied zwischen der Verwendung von „sh“ und „source“?

So finden Sie den Unterschied zwischen zwei Verzeichnissen mit Diff- und Meld-Tools

Dateien ohne Kommentare und Leerzeilen in Linux drucken

Mit NitroShare können Sie Dateien ganz einfach zwischen Linux, Windows und Mac austauschen

Unix Sed Tutorial:Drucken von Dateizeilen mit Adresse und Mustern

Unix Sed Tutorial:Löschen Sie Dateizeilen mit Adresse und Mustern

Unterschied in Leerzeichen zwischen zwei Dateien unter Linux