GNU/Linux >> Tutoriales Linux >  >> Linux

¿Imprimir líneas entre (y excluyendo) dos patrones?

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.


Linux
  1. Cómo transferir archivos entre dos computadoras usando los comandos nc y pv

  2. Cómo transferir archivos entre servidores en Linux usando SCP y FTP

  3. ¿Cómo seleccionar la primera aparición entre dos patrones, incluyéndolos?

  4. ¿Líneas comunes entre dos archivos?

  5. ¿Extraer texto entre dos líneas específicas?

Cómo encontrar la diferencia entre dos directorios usando las herramientas Diff y Meld

Imprimir archivos sin comentarios y líneas vacías en Linux

Comparta archivos fácilmente entre Linux, Windows y Mac usando NitroShare

Tutorial de Unix Sed:Impresión de líneas de archivos usando direcciones y patrones

Tutorial de Unix Sed:eliminar líneas de archivos usando direcciones y patrones

Diferencia en espacios en blanco entre dos archivos en Linux