Eu tenho várias linhas em um arquivo e gostaria de copiar cada linha 11 vezes (transformando cada linha em 12 linhas) e incrementar o último "1" em cada linha para que as 12 linhas tenham "1" a " 12 ", onde o" 1 "estava inicialmente. Pode haver outras ocorrências de "1" em cada linha, mas o "1" que eu quero incrementar sempre será a última ocorrência em cada linha. Outra maneira de ver é que o último "1" é sempre depois de "/ nt /" - como em "/ nt / 1" (e sempre será a única ocorrência de "/ nt / 1" em cada linha) .
Então, por exemplo, se eu tiver:
1stlineblahblahblah/nt/1blah
2ndlineblahblahblah/nt/1blah
3rdlineblahblahblah/nt/1blah
Eu quero transformá-lo em:
1stlineblahblahblah/nt/1blah
1stlineblahblahblah/nt/2blah
1stlineblahblahblah/nt/3blah
1stlineblahblahblah/nt/4blah
1stlineblahblahblah/nt/5blah
1stlineblahblahblah/nt/6blah
1stlineblahblahblah/nt/7blah
1stlineblahblahblah/nt/8blah
1stlineblahblahblah/nt/9blah
1stlineblahblahblah/nt/10blah
1stlineblahblahblah/nt/11blah
1stlineblahblahblah/nt/12blah
2ndlineblahblahblah/nt/1blah
2ndlineblahblahblah/nt/2blah
2ndlineblahblahblah/nt/3blah
...
Eu já havia encontrado o comando:
:for i in range(0,12) | put ='1stlineblahblahblah/nt/'.i.'blah' | endfor
funciona para esse fim, mas eu teria que executar manualmente esse comando para cada linha e digitar cada linha (ou copiar e colar) pessoalmente. Existe uma maneira de pegar as linhas que já estão no arquivo e apenas executar um comando que transforma cada linha em doze, da maneira que descrevi?
Agradeço antecipadamente a quem puder me ajudar com isso. Eu também queria apenas observar que esta é a minha segunda pergunta aqui e fiquei satisfeito por ter conseguido várias soluções rápidas e eficazes para a minha primeira pergunta, pela qual eu sou muito grata.