Как было предложено в других решениях, вы можете использовать csplit для этого:
csplit
csplit csplit.test '/^\.\.\./' '{*}' && sed -i '/^\.\.\./d' xx*
Я не нашел лучшего способа избавиться от напоминающего разделителя в разделенных файлах.
$other = array_map('chr',range(33,47));