Voy a enviar el formulario usando cURL, donde algunos de los contenidos provienen de otro archivo, seleccionado usando sed
Si param1
es un patrón de coincidencia de línea de otro archivo usando sed
, el siguiente comando funcionará bien:
curl -d param1="$(sed -n '/matchpattern/p' file.txt)" -d param2=value2 http://example.com/submit
Ahora, ve al problema. Quiero mostrar solo texto entre 2 patrones coincidentes, excluyendo el patrón coincidente en sí.
Digamos 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.
Actualmente, un montón de "entre 2 patrones coincidentes" sed
el comando no eliminará firstmatch
y secondmatch
.
Quiero que el resultado sea:
It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout.
Respuesta aceptada:
Esta es una manera de hacerlo:
sed '1,/firstmatch/d;/secondmatch/,$d'
Explicado:desde la primera línea hasta la línea que coincide con firstmatch , Eliminar. Desde la línea que coincide con secondmatch hasta la última línea, eliminar.