Hi, After attempting to port csplit, I think I understand why it is like that: it is to stop the iteration in case a pattern should be executed several times. Therefore, maybe an easy fix is to alter the documentation to indicate that lines within a negative offset are not matched in subsequent patterns, with the exception of the line-based pattern. Cheers, -- Stephane Campinas