Para limitar a substituição a uma parte do arquivo até e incluindo a primeira instância correspondente, você pode preceder o comando substituto com um intervalo do formulário 1,\#pattern#
ie
busybox sed '1,\#</verse-sub-section># s#</verse-sub-section>#</section>#' file
Observe que o uso da barra invertida é evitado antes do delimitador alternativo \#
, exceto onde é introduzido pelo comando s
.
Observe que isso não terá o comportamento desejado se ocorrer uma correspondência na primeira linha; O GNU sed suporta um intervalo na forma 0,\#pattern#
para lidar com essa situação, mas o busybox sed - pelo menos a versão que eu posso testar, BusyBox v1.22.1 (Ubuntu 1:1.22.0-8ubuntu1)
- não parece.