Invierò il modulo utilizzando cURL, in cui parte del contenuto proviene da un altro file, selezionato utilizzando sed
Se param1
è il modello di corrispondenza della linea da un altro file utilizzando sed
, il comando seguente funzionerà bene:
curl -d param1="$(sed -n '/matchpattern/p' file.txt)" -d param2=value2 http://example.com/submit
Ora vai al problema. Voglio mostrare solo il testo tra 2 pattern corrispondenti escludendo il pattern corrispondente stesso.
Diciamo file.txt
contiene:
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.
Attualmente, molti "beetween 2 matching pattern" sed
il comando non rimuoverà firstmatch
e secondmatch
.
Voglio che il risultato diventi:
It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout.
Risposta accettata:
Ecco un modo per farlo:
sed '1,/firstmatch/d;/secondmatch/,$d'
Spiegazione:dalla prima riga alla riga corrispondente a firstmatch , eliminare. Dalla riga corrispondente a secondmatch all'ultima riga, elimina.