Let's be clear here... RudiC's code worked perfectly for the problem you presented.
Now you have presented a different problem. And that problem is not clearly stated. We are all supposed to guess at what your real input specification is by looking at two samples. We might guess correctly or we might all be wasting our time making bad guesses.
If what you are trying to do is duplicate the contents of a line separating the original line contents from its duplicate with a <space> and if, and only if, there is a an unsigned decimal number sequence that appears between square brackets with no other characters between those square brackets somewhere on that line then replace the first occurrence of that sequence in the duplicated contents with that number incremented by one, then you might try running something like: