Dividir un archivo en dos en la primera aparición de una cadena especificada

Dividir un archivo en dos en la primera aparición de una cadena especificada

¿Cómo puedo dividir un archivo de texto en dos partes cuando aparece por primera vez una cadena específica? Miré el comando de división, pero no hace eso.

En el pasado he usado un script para hacer esto. Pero no es muy eficiente y tengo que mover el script a diferentes sistemas. Me preguntaba si había una mejor manera de lograr esto.

Respuesta1

¿Puedo recomendar el uso de dividir(división de contexto), a la:

PATRÓN de archivo csplit [opciones]

Por ejemplo, tomemos un archivoNombre del archivoque contiene

one
two 
three
four
five
six
seven
eight

con el comandonombre de archivo csplit /cuatro/

obtenemos el archivoxx00con

one
two 
three

y archivoxx01con

four
five
six
seven
eight

Se pueden encontrar más detalles enhttp://docstore.mik.ua/orelly/unix/upt/ch35_10.htmy también enhttps://davidlyness.com/post/las-diferencias-funcionales-y-de-rendimiento-de-sed-awk-and-other-unix-parsing-utilities

información relacionada