Você pode fazer isso com um único awk abaixo:
awk -v RS="{'StartOfFile'" 'NR>1{sub(/End}}.*/,"End}}"); print RS$0>NR-1".txt"}' infile
Eu corri abaixo da entrada de amostra:
{'StartOfFile': Unix.stackexchange.com End}}
yut786y= 3&*%^#$%fsd{'StartOfFile': sdflklfasdgjw723gsdf67asfr55a64
asduf hfna089FUAO
AHF78QAB6A SDFADSFGfh asiug6a8osiofh7qw8e6fgha
fq9w46tygvkabsdjfnhc :End}}fji8yEBFBOA NFmc
72 YOY398Y 9Y9&y&*t*#&y(*yH{'StartOfFile':uih4yUH OG8YG*^t&^t*&o y(yt&*wt*&(0
jfhi hwuw hfuweh012r892u 098Y&*T*#^98 yHO
OFUH idueg&*#trt& goe
ouh#ye(e#y( geiyfgefyg #O WIBCJHvKKJSLSDOLSL*6
asds:End}}JKDSHFLAJHFLAJSDHFLIAUHFILU7869786
A saída foi / é como segue dividida em 3 arquivos:
1.txt
{'StartOfFile': Unix.stackexchange.com End}}
2.txt
{'StartOfFile': sdflklfasdgjw723gsdf67asfr55a64 asduf hfna089FUAO AHF78QAB6A SDFADSFGfh asiug6a8osiofh7qw8e6fgha fq9w46tygvkabsdjfnhc :End}}
3.txt
{'StartOfFile':uih4yUH OG8YG*^t&^t*&o y(yt&*wt*&(0 jfhi hwuw hfuweh012r892u 098Y&*T*#^98 yHO OFUH idueg&*#trt& goe ouh#ye(e#y( geiyfgefyg #O WIBCJHvKKJSLSDOLSL*6 asds:End}}