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.