Dividir um arquivo em dois na primeira ocorrência de uma string especificada

Dividir um arquivo em dois na primeira ocorrência de uma string especificada

Como posso dividir um arquivo de texto em duas partes na primeira ocorrência de uma string especificada? Eu olhei para o comando split, mas ele não faz isso.

No passado, usei um script para fazer isso. Mas não é muito eficiente e tenho que mover o script para sistemas diferentes. Eu queria saber se havia uma maneira melhor de conseguir isso.

Responder1

Posso recomendar o uso de csplit(divisão de contexto), a la:

csplit [opções] arquivo PADRÃO

Por exemplo, vamos pegar um arquivonome do arquivocontendo

one
two 
three
four
five
six
seven
eight

com o comandonome do arquivo csplit /quatro/

obtemos o arquivoxx00com

one
two 
three

e arquivoxx01com

four
five
six
seven
eight

Mais detalhes podem ser encontrados emhttp://docstore.mik.ua/orelly/unix/upt/ch35_10.htme também emhttps://davidlyness.com/post/the-funcional-and-performance-differences-of-sed-awk-and-other-unix-parsing-utilities

informação relacionada