Разделение файла на две части при первом появлении указанной строки

Разделение файла на две части при первом появлении указанной строки

Как разделить текстовый файл на две части при первом появлении указанной строки? Я посмотрел на команду split, но она этого не делает.

Раньше я использовал скрипт, чтобы сделать это. Но он не очень эффективен, и мне приходится переносить скрипт на разные системы. Мне было интересно, есть ли лучший способ сделать это.

решение1

Могу ли я рекомендовать использование csplit(контекстное разделение), а-ля:

csplit [опции] файл ШАБЛОН

Например, возьмем файлимя файласодержащий

one
two 
three
four
five
six
seven
eight

с командойcsplit имя файла /четыре/

мы получаем файлхх00с

one
two 
three

и файлхх01с

four
five
six
seven
eight

Более подробную информацию можно найти на сайтеhttp://docstore.mik.ua/orelly/unix/upt/ch35_10.htmа также вhttps://davidlyness.com/post/the-functional-and-performance-differences-of-sed-awk-and-other-unix-parsing-utilities

Связанный контент