LINUX.ORG.RU

Порезать книгу на главы


0

0

Есть книга в текстовом файле, нужно порезать её на главы. Каждая глава начинается словом Chapter в начале строки.

Очевидный способ: в цикле (число глав известно) запустить:
sed -n '0,/^Chapter/p' leftover.txt >> $filenumber.txt; sed '0,/^Chapter/d' -i leftover.txt
Но при этом название каждой главы оказывается в предыдущем файле.
Посмотрев на http://sed.sourceforge.net/ , нашёл как это исправить:
sed '$!d' $filenumber.txt > $(($filenumber+1)).txt; sed '$d' -i $filenumber.txt

Существует ли менее запутанный способ резать файл по регулярным выражениям?

Заранее спасибо.

Зачем это было нужно: festival не поддерживает перемотку (или я её не нашёл?), а время конвертирования в WAV, похоже, экспоненциально зависит от длины текста.

★★★★★

Ответ на: комментарий от gena2x

Спасибо, помогло

csplit filename.txt '/^Chapter/' '{*}'

А с %Chapter% ничего не выводит.

question4 ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.