É muito fácil modificar minha solução para a outra pergunta. Basta remover o next :
perl -ne 'if(/XYZ/){$a=1} ; $a==1 ? print STDERR : print STDOUT;' file >f1 2>f2;
Isso criará f1 com tudo até XYZ e f2 com todo o resto, incluindo XYZ .
Como alternativa, a resposta aceita da pergunta à qual você se vinculou faz praticamente o que você precisa. Apenas mantém XYZ no primeiro arquivo. Para tê-lo no segundo, basta inverter os dois comandos awk :
awk '/XYZ/{out="file2"}{print >out}; ' out=file1 file